package com.example.demo.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 常量定义
 *
 */

/**
 * @mdaMap=src/main/java/com/al/crm/rule/sorule/common/MDA.xml
 */
//@AppModule(moduleName = "SoRuleManagerLimit")
public class MDA {
	/** 系统核心常量start **/

	//版本（新版本.核心模块.需求bug.日期流水）
	public static final String APPLICATION_VERSION = new String("2.3.3.20181128");

	//环境
	public static final Boolean APPLICATION_TEST = new Boolean(false);

	//各种开关 
	//合并版本订单类型
	public static List<String> OPEN_CHAIN = new ArrayList<String>();
	//在途单查询SQL切换开关  true：优化后SQL查询  false：优化前SQL查询
	public static final Boolean ZT_STITCH = new Boolean(false);
	//客户信息下省查询和从订单信息获取订单项配置开关
	public static final List<String> CUST_XS_SWITCH = new ArrayList<String>();
	//订单数据是否落表
	public static final Boolean ORDER_TO_DB = new Boolean(false);
	//动作链撤单节点
	public static List<String> CHAIN_NOT_REPEAL = new ArrayList<String>();

	static {
		CHAIN_NOT_REPEAL.add("9");
		OPEN_CHAIN.add("9");
		CUST_XS_SWITCH.add("9");
	}

	//线程池相关参数
	//线程池参数：是否使用线程池,线程池名称,核心线程数,最大线程数,线程池维护线程所允许的空闲时间,任务队列长度,任务超时时间,拒绝处理任务时的策略
	public static String[] POOL_PARAM_ORDER = new String[] { "true", "POOL_ORDER", "10", "10", "1000", "2000", "0" };
	public static String[] POOL_PARAM_RULE = new String[] { "false", "POOL_RULE", "10", "10", "1000", "2000", "0" };
	public static String[] POOL_PARAM_LOG = new String[] { "true", "POOL_LOG", "1", "1", "500", "1000", "1" };

	//日志相关参数，*表示空
	//第一项：输出（1：System.out、2：数据库、3：日志平台)
	//第二项：总耗时超时记录阈值
	//第三项：方法超时记录阈值
	//第五项：根据订单尾号记录所有，,分隔
	//第六项：根据员工编号记录所有，,分隔
	public static String[] SRULE_RUN_lOG_SWITCH = new String[] { "2", "500", "100", "*", "*" };

	//规则等级
	//提示性规则
	public static final String SRULE_LEVEL_0 = "0";
	public static final String SRULE_LEVEL_1 = "1";
	//高级规则
	public static final String SRULE_LEVEL_2 = "2";
	//特级规则
	public static final String SRULE_LEVEL_3 = "3";
	//系统限制级规则
	public static final String SRULE_LEVEL_4 = "4";

	//规则结果
	//规则结果:规则异常
	public static final String RULE_RESULT_ERROR = "0009";
	//规则结果:规则校验不过
	public static final String RULE_RESULT_PROMPT = "0002";
	//规则结果:规则校验通过
	public static final String RULE_RESULT_PASS = "0000";

	//规则事件类型
	//校验性规则事件类型
	public static final Integer SRULE_EVENT_TYPE_RULE = 5;
	//动作链规则事件类型
	public static final Integer SRULE_EVENT_TYPE_CHINA = 4;

	//规则事件RULE_SOURCE
	//通用受理准备
	public static final String RULE_SOURCE_OF_CHECK_READY = "ksession-soprepare";
	//通用受理提交
	public static final String RULE_SOURCE_OF_CHECK_COMMIT = "ksession-socommit";
	//4G受理准备
	public static final String RULE_SOURCE_OF_CHECK_READY_4G = "ksession-soprepare4g";
	//4G受理提交
	public static final String RULE_SOURCE_OF_CHECK_COMMIT_4G = "ksession-socommit4g";
	//转售受理准备
	public static final String RULE_SOURCE_OF_CHECK_READY_ZS = "ksession-sopreparezs";
	//转售受理提交
	public static final String RULE_SOURCE_OF_CHECK_COMMIT_ZS = "ksession-socommitzs";
	//物联网受理准备
	public static final String RULE_SOURCE_OF_CHECK_READY_IOT = "ksession-soprepareiot";
	//物联网受理提交
	public static final String RULE_SOURCE_OF_CHECK_COMMIT_IOT = "ksession-socommitiot";

	//动作类型规则事件
	public static Map<String, String> ACTION_TYPE_2_RULE_EVENTS = new HashMap<String, String>();

	static {//key=actionTypeCd_state value=eventId,code
		ACTION_TYPE_2_RULE_EVENTS.put("101_ADD", "2001,offerOrder");
		ACTION_TYPE_2_RULE_EVENTS.put("101_DEL", "2003,offerBreak");
		ACTION_TYPE_2_RULE_EVENTS.put("103_ADD", "2004,offerRoleIn");
		ACTION_TYPE_2_RULE_EVENTS.put("1_ADD", "2005,prodInstall");
		ACTION_TYPE_2_RULE_EVENTS.put("12_ADD", "2006,prodServOn");
		ACTION_TYPE_2_RULE_EVENTS.put("103_DEL", "2007,offerRoleOut");
		ACTION_TYPE_2_RULE_EVENTS.put("1_DEL", "2008,prodBreak");
		ACTION_TYPE_2_RULE_EVENTS.put("12_DEL", "2009,prodServOff");
		ACTION_TYPE_2_RULE_EVENTS.put("9_ADD", "2010,prodAddrAdd");
		ACTION_TYPE_2_RULE_EVENTS.put("10_ADD", "2011,prodNumberAdd");
		ACTION_TYPE_2_RULE_EVENTS.put("26_ADD", "2012,compProdRoleIn");
		ACTION_TYPE_2_RULE_EVENTS.put("26_DEL", "2013,compProdRoleOut");
		ACTION_TYPE_2_RULE_EVENTS.put("17_ADD", "2014,prodCustAdd");
		ACTION_TYPE_2_RULE_EVENTS.put("19_ADD", "2015,prodAcctAdd");
		ACTION_TYPE_2_RULE_EVENTS.put("53_ADD", "2016,prodRelaAdd");
		ACTION_TYPE_2_RULE_EVENTS.put("3_ADD", "2018,prodSpecAdd");
		ACTION_TYPE_2_RULE_EVENTS.put("3_DEL", "2019,prodSpecDel");
		ACTION_TYPE_2_RULE_EVENTS.put("30_ADD", "2020,prodStatusAdd");
		ACTION_TYPE_2_RULE_EVENTS.put("11_ADD", "2022,prod2AnAdd");
		ACTION_TYPE_2_RULE_EVENTS.put("30_DEL", "2023,prodStatusDel");
		ACTION_TYPE_2_RULE_EVENTS.put("8_ADD", "2024,prodItemAdd");
		ACTION_TYPE_2_RULE_EVENTS.put("107_ADD", "2025,offerFeeTypeAdd");
		ACTION_TYPE_2_RULE_EVENTS.put("52_ADD", "2026,prodFeeTypeAdd");
		ACTION_TYPE_2_RULE_EVENTS.put("104_ADD", "2027,offerParamAdd");
		ACTION_TYPE_2_RULE_EVENTS.put("105_ADD", "2028,null");//code为null标识规则事件编码为空
		ACTION_TYPE_2_RULE_EVENTS.put("50_ADD", "2029,couponAdd");
		ACTION_TYPE_2_RULE_EVENTS.put("50_DEL", "2030,couponDel");
		ACTION_TYPE_2_RULE_EVENTS.put("10_DEL", "2031,prodNumberDel");
	}

	//能力开放动作链事件
	public static Map<String, String> ACTION_TYPE_2_RULE_EVENTS_9 = new HashMap<String, String>();

	static {//key=actionTypeCd_state value=eventId,code
		ACTION_TYPE_2_RULE_EVENTS_9.put("101_ADD", "2001,offerOrder");
		ACTION_TYPE_2_RULE_EVENTS_9.put("101_DEL", "2003,offerBreak");
		ACTION_TYPE_2_RULE_EVENTS_9.put("103_ADD", "2004,offerRoleIn");
		ACTION_TYPE_2_RULE_EVENTS_9.put("1_ADD", "2005,prodInstall");
		ACTION_TYPE_2_RULE_EVENTS_9.put("12_ADD", "2006,prodServOn");
		ACTION_TYPE_2_RULE_EVENTS_9.put("103_DEL", "2007,offerRoleOut");
		ACTION_TYPE_2_RULE_EVENTS_9.put("1_DEL", "2008,prodBreak");
		ACTION_TYPE_2_RULE_EVENTS_9.put("12_DEL", "2009,prodServOff");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("9_ADD","2010,prodAddrAdd");
		ACTION_TYPE_2_RULE_EVENTS_9.put("10_ADD", "2011,prodNumberAdd");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("26_ADD","2012,compProdRoleIn");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("26_DEL","2013,compProdRoleOut");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("17_ADD","2014,prodCustAdd");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("19_ADD","2015,prodAcctAdd");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("53_ADD","2016,prodRelaAdd");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("3_ADD","2018,prodSpecAdd");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("3_DEL","2019,prodSpecDel");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("30_ADD","2020,prodStatusAdd");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("11_ADD","2022,prod2AnAdd");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("30_DEL","2023,prodStatusDel");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("8_ADD","2024,prodItemAdd");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("107_ADD","2025,offerFeeTypeAdd");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("52_ADD","2026,prodFeeTypeAdd");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("104_ADD","2027,offerParamAdd");
		//ACTION_TYPE_2_RULE_EVENTS_9.put("105_ADD","2028,null");//code为null标识规则事件编码为空
		ACTION_TYPE_2_RULE_EVENTS_9.put("50_ADD", "2029,couponAdd");
		ACTION_TYPE_2_RULE_EVENTS_9.put("50_DEL", "2030,couponDel");
		ACTION_TYPE_2_RULE_EVENTS_9.put("10_DEL", "2031,prodNumberDel");
	}

	//76、动作链规则事件与规则事实集映射关系
	public static final Map<String, String> RULE_EVENT_CODE_2_RULE_FACT = new HashMap<String, String>();

	static {
		//产品新装
		RULE_EVENT_CODE_2_RULE_FACT.put("prodInstall", "com.al.crm.rule.check.sochain.ProdInstallRuleImpl");
		//产品拆机
		RULE_EVENT_CODE_2_RULE_FACT.put("prodBreak", "com.al.crm.rule.check.sochain.ProdBreakRuleImpl");
		//产品新主接入号
		RULE_EVENT_CODE_2_RULE_FACT.put("prodNumberAdd", "com.al.crm.rule.check.sochain.ProdNumberAddRuleImpl");
		//删除主接入号
		RULE_EVENT_CODE_2_RULE_FACT.put("prodNumberDel", "com.al.crm.rule.check.sochain.ProdNumberDelRuleImpl");
		//销售品订购
		RULE_EVENT_CODE_2_RULE_FACT.put("offerOrder", "com.al.crm.rule.check.sochain.OfferOrderRuleImpl");
		//销售品退订
		RULE_EVENT_CODE_2_RULE_FACT.put("offerBreak", "com.al.crm.rule.check.sochain.OfferBreakRuleImpl");
		//销售品成员加入
		RULE_EVENT_CODE_2_RULE_FACT.put("offerRoleIn", "com.al.crm.rule.check.sochain.OfferRoleInRuleImpl");
		//销售品成员退出
		RULE_EVENT_CODE_2_RULE_FACT.put("offerRoleOut", "com.al.crm.rule.check.sochain.OfferRoleOutRuleImpl");
		//销售品属性ADD
		RULE_EVENT_CODE_2_RULE_FACT.put("offerParamAdd", "com.al.crm.rule.check.sochain.OfferParamAddRuleImpl");
		//销售品付费方式ADD
		RULE_EVENT_CODE_2_RULE_FACT.put("offerFeeTypeAdd", "com.al.crm.rule.check.sochain.OfferFeeTypeAddRuleImpl");
		//产品非主接入号ADD
		RULE_EVENT_CODE_2_RULE_FACT.put("prod2AnAdd", "com.al.crm.rule.check.sochain.Prod2AnAddRuleImpl");
		//产品开服务
		RULE_EVENT_CODE_2_RULE_FACT.put("prodServOn", "com.al.crm.rule.check.sochain.ProdServOnRuleImpl");
		//产品关服务
		RULE_EVENT_CODE_2_RULE_FACT.put("prodServOff", "com.al.crm.rule.check.sochain.ProdServOffRuleImpl");
		//产品新产权客户
		RULE_EVENT_CODE_2_RULE_FACT.put("prodCustAdd", "com.al.crm.rule.check.sochain.ProdCustAddRuleImpl");
		//产品新账户关系
		RULE_EVENT_CODE_2_RULE_FACT.put("prodAcctAdd", "com.al.crm.rule.check.sochain.ProdAcctAddRuleImpl");
		//产品加入组合产品
		RULE_EVENT_CODE_2_RULE_FACT.put("compProdRoleIn", "com.al.crm.rule.check.sochain.CompProdRoleInRuleImpl");
		//产品退出组合产品
		RULE_EVENT_CODE_2_RULE_FACT.put("compProdRoleOut", "com.al.crm.rule.check.sochain.CompProdRoleOutRuleImpl");
		//产品新产品规格
		RULE_EVENT_CODE_2_RULE_FACT.put("prodSpecAdd", "com.al.crm.rule.check.sochain.ProdSpecAddRuleImpl");
		//产品删产品规格
		RULE_EVENT_CODE_2_RULE_FACT.put("prodSpecDel", "com.al.crm.rule.check.sochain.ProdSpecDelRuleImpl");
		//新产品状态
		RULE_EVENT_CODE_2_RULE_FACT.put("prodStatusAdd", "com.al.crm.rule.check.sochain.ProdStatusAddRuleImpl");
		//删产品状态
		RULE_EVENT_CODE_2_RULE_FACT.put("prodStatusDel", "com.al.crm.rule.check.sochain.ProdStatusDelRuleImpl");
		//新产品付费方式
		RULE_EVENT_CODE_2_RULE_FACT.put("prodFeeTypeAdd", "com.al.crm.rule.check.sochain.ProdFeeTypeAddRuleImpl");
		//新产品关系
		RULE_EVENT_CODE_2_RULE_FACT.put("prodRelaAdd", "com.al.crm.rule.check.sochain.ProdRelaAddRuleImpl");
		//新产品属性
		RULE_EVENT_CODE_2_RULE_FACT.put("prodItemAdd", "com.al.crm.rule.check.sochain.ProdItemAddRuleImpl");
		//新产品地址
		RULE_EVENT_CODE_2_RULE_FACT.put("prodAddrAdd", "com.al.crm.rule.check.sochain.ProdAddrAddRuleImpl");
		//新增物品
		RULE_EVENT_CODE_2_RULE_FACT.put("couponAdd", "com.al.crm.rule.check.sochain.CouponAddRuleImpl");
		//删除物品
		RULE_EVENT_CODE_2_RULE_FACT.put("couponDel", "com.al.crm.rule.check.sochain.CouponDelRuleImpl");
		//服务属性新增
		RULE_EVENT_CODE_2_RULE_FACT.put("servItemAdd", "com.al.crm.rule.check.sochain.ServItemAddRuleImpl");
	}

	//异常code
	public static final String ERROR_CODE_PIX = "err";//异常编码前缀
	public static final Integer ERROR_CODE_60000 = 60000;//规则运行时异常
	public static final Integer ERROR_CODE_60001 = 60001;//解析受理入参异常,例如参数为空、格式不对
	public static final Integer ERROR_CODE_60002 = 60002;//校验初始化购物车信息异常
	public static final Integer ERROR_CODE_60003 = 60003;//初始规则化线程池异常	
	public static final Integer ERROR_CODE_61001 = 61001;//获取规则事实为空
	public static final Integer ERROR_CODE_61002 = 61002;//查找规则方法异常
	public static final Integer ERROR_CODE_61003 = 61003;//执行规则方法异常
	public static final Integer ERROR_CODE_63001 = 63001;//调用规则初始化方法入参为空
	public static final Integer ERROR_CODE_63002 = 63002;//初始化方法中出现查询数据异常code
	public static final Integer ERROR_CODE_63003 = 63003;//产品/服务没有配置核心销售品
	public static final Integer ERROR_CODE_63004 = 63004;//组合产品所在的销售品配置没有找到成员角色的配置
	public static final Integer ERROR_CODE_63005 = 63005;//根据产品实例id没有查询到产品规格id
	public static final Integer ERROR_CODE_63006 = 63006;//根据产品实例id没有查询到合同号信息
	public static final Integer ERROR_CODE_63007 = 63007;//查询出来或者传进来的某些参数为空
	public static final Integer ERROR_CODE_63008 = 63008;//参数或者值不是期望值,比如参数不能为空,做判断处理抛出此异常
	public static final Integer ERROR_CODE_64001 = 64001;//oracl包失效异常编码
	public static final Integer ERROR_CODE_64002 = 64002;//oracl包调用异常编码
	public static final Integer ERROR_CODE_64003 = 64003;//oracl包查找异常编码
	public static final Integer ERROR_CODE_64004 = 64004;//存储过程失效自定义异常
	public static final Integer ERROR_CODE_64005 = 64005;//公用包运行时异常
	public static final Integer ERROR_CODE_65001 = 65001;//获取能力平台缓存对象异常，对象为空
	public static final Integer ERROR_CODE_65002 = 65002;//获取能力平台缓存对象异常，内部方法不可用
	public static final Integer ERROR_CODE_66001 = 66001;//调用外部接口异常，调用营销资源物品实例信息查询异常
	public static final Integer ERROR_CODE_66002 = 66002;//调用营业受理后台服务，根据销售品实例查询产品成员信息异常
	public static final Integer ERROR_CODE_66003 = 66003;//调用系管服务异常
	public static final Integer ERROR_CODE_66004 = 66004;//调用营业受理后台服务，根据partyId和areaId查询客户信息异常	
	public static final Integer ERROR_CODE_66005 = 66005;//调用系管服务，根据channelId和areaId查询渠道类型异常
	public static final Integer ERROR_CODE_66006 = 66006;//调用营销资源服务,查询UIM卡信息异常
	public static final Integer ERROR_CODE_66007 = 66007;//调用营销资源服务,号码渠道校验接口异常
	public static final Integer ERROR_CODE_66008 = 66008;//调用营业受理后台服务,查询公共数据服务接口异常
	public static final Integer ERROR_CODE_66010 = 66010;//调用营业受理后台服务,账户资料查询接口异常
	public static final Integer ERROR_CODE_66009 = 66009;//调用营业受理后台服务,查询销售品可订购次数接口异常

	/** 系统核心常量end **/

	/** 应用常量start **/
	//老用户作为副卡打包关系新老模式开关
	public static final Boolean MAIN_SER_PAKAGE_FLAG = new Boolean(true);//新老打包关系

	//公用常量定义
	public static final Long NULL_LONG = -9L;
	public static final Integer NULL_INT = -9;
	public static final String NULL_STR = "-9";
	public static final String USELESS_STR = "$_$";//非常用字符，用于字符串转义时的中间常量
	public static final String N_STR = "N";
	public static final String Y_STR = "Y";

	//与或关系
	public static final String RELA_AND = "A";
	public static final String RELA_OR = "O";

	//订单项状态
	public static final String BO_STATU_S = "100001";//保存未通过校验
	public static final String BO_STATU_P = "100002";//保存已通过校验
	public static final String BO_STATU_T = "100003";//订单修改
	public static final String BO_STATU_D = "100004";//作废
	public static final String BO_STATU_N = "201300";//开通中
	public static final String BO_STATU_W = "201700";//等待调度
	public static final String BO_STATU_201800 = "201800";//已发送
	public static final String BO_STATU_301100 = "301100";//竣工中	
	public static final String BO_STATU_C = "301200";//已归档
	public static final String BO_STATU_E = "401200";//后端错误	
	public static final String BO_STATU_B = "401300";//已撤单
	public static final String BO_STATU_U = "400001";//被修改	
	public static final String BO_STATU_R = "401700";//已撤单	
	public static final String BO_STATU_G = "401400";//已退单
	public static final String BO_STATU_Q = "999999";//动作链校验未通过	
	public static final String BO_STATU_A = "401400"; //确认待装中
	public static final String BO_STATU_201900 = "201900";//下省失败	

	//过程数据状态
	public static final String STATE_ADD = "ADD";
	public static final String STATE_MOD = "MOD";
	public static final String STATE_DEL = "DEL";
	public static final String STATE_KIP = "KIP";
	public static final String STATE_NEW = "NEW";
	public static final String STATE_OLD = "OLD";

	//产品状态
	public static final String PROD_STATUS_USING = "100000";//在用
	public static final String PROD_STATUS_USER_BREAK = "110000";//用户拆机	
	public static final String PROD_STATUS_DEBT_BREAK = "110001";//欠费拆机	
	public static final String PROD_STATUS_PECCANCY_BREAK = "110002";//违章拆机
	public static final String PROD_STATUS_STOP = "120000";//停机
	public static final String PROD_STATUS_UNEFFECT = "130000";//未竣工
	public static final String PROD_STATUS_WAIT_ACTIVE = "140000";//待激活（预开通）
	public static final String PROD_STATUS_PRE_OPENING = "140001";//预开通
	public static final String PROD_STATUS_NOT_ACTIVE = "140002";//待激活
	public static final String PROD_STATUS_PRE_OPENING_UPDATE = "140003";//预开通待反档激活Redmine-#3025550

	//产品停机状态分类
	public static final String PROD_STATUS_USER_STOP = "100000";//用户报停
	public static final String PROD_STATUS_GUASHI_STOP = "110000";//挂失停机
	public static final String PROD_STATUS_TJBH_STOP = "120000";//停机保号
	public static final String PROD_STATUS_DEBT_STOP = "130000";//欠费停机
	public static final String PROD_STATUS_SINGLE_STOP = "130001";//欠停(单向)	
	public static final String PROD_STATUS_DOUBLE_STOP = "130002";//欠停(双向)
	public static final String PROD_STATUS_YCJ_STOP = "140000";//预拆机	
	public static final String PROD_STATUS_PECCANCY_STOP = "150000";//违章停机
	public static final String PROD_STATUS_REAL_SINGLE_STOP = "150001";//非实名制单停
	public static final String PROD_STATUS_REAL_DOUBLE_STOP = "150002";//非实名制双停

	//对象类型obj_type
	public static final Integer OBJ_TYPE_PROD_SPEC = 2;//产品
	public static final Integer OBJ_TYPE_SERV_SPEC = 4;//服务
	public static final Integer OBJ_TYPE_OFFER_SPEC = 7;//销售品
	public static final Integer OBJ_TYPE_ACCT = 13;//账户
	public static final Integer OBJ_TYPE_PHONE_NUMBER_LEVEL = 21;//号码等级
	public static final Integer OBJ_TYPE_PHONE_NUMBER_TYPE = 22;//号码预存
	public static final Integer OBJ_TYPE_TERMINAL_DEV_SPEC = 22;//终端型号
	public static final Integer OBJ_TYPE_DEVICE_MODEL = 23;//设备型号
	//String类型,用于与数据库字段类型对应,修改常量时需要同步修改
	public static final String OBJ_TYPE_PROD_SPEC_STR = "2";//产品
	public static final String OBJ_TYPE_OFFER_SPEC_STR = "7";

	//规则组类型
	public static final Integer RULE_GRP_TYPE_LIMIT_NUMBER = 0;//数量限制
	public static final Integer RULE_GRP_TYPE_SAME_CUST = 1;//同客户
	public static final Integer RULE_GRP_TYPE_SAME_ACCT_FEE = 2;//同合同号且同预同后
	public static final Integer RULE_GRP_TYPE_SAME_ADDRESS = 3;//同址
	public static final Integer RULE_GRP_TYPE_SAME_PROD = 4;//同产品实例
	public static final Integer RULE_GRP_TYPE_ONLY_SAME_ACCT = 6;//仅同合同号
	public static final Integer RULE_GRP_TYPE_ONLY_PERSON = 7;//同个人客户
	public static final Integer RULE_GRP_TYPE_ONLY_ORG = 8;//同组织
	public static final Integer RULE_GRP_TYPE_ROLE_REPETITION = 9;//成员角色可重复
	public static final Integer RULE_GRP_TYPE_SAME_OFFER = 10;//同套餐
	public static final Integer RULE_GRP_TYPE_MEM_INSTALL_TIME = 11;//成员新装时间
	public static final Integer RULE_GRP_TYPE_ROLE_EXCLUDE_ONE = 12;//同销售品规格同实例下角色互斥
	public static final Integer RULE_GRP_TYPE_ROLE_EXCLUDE_DIF = 13;//同销售品规格不同实例下角色互斥
	public static final Integer RULE_GRP_TYPE_1 = 1;//路径一：白名单套餐组
	public static final Integer RULE_GRP_TYPE_2 = 2;//路径一：保留的可选包及促销组
	public static final Integer RULE_GRP_TYPE_3 = 3;//路径二：黑名单套餐组
	public static final Integer RULE_GRP_TYPE_4 = 4;//路径三：白名单套餐组	
	public static final Integer RULE_GRP_TYPE_5 = 5;//路径四： 畅聊包白名单套餐组
	public static final Integer RULE_GRP_BLACK = 121151;//不允许开4G功能的销售品组 

	//原子动作类型String
	public static final String ACTION_TYPE_CD_SYS = "0";//系统使用
	public static final String ACTION_TYPE_CD_PROD = "1";//产品变更(包括新装和拆机)
	public static final String ACTION_TYPE_CD_PROD_INFO = "2";//改产品有效期(bo_prod)
	public static final String ACTION_TYPE_CD_PROD_SPEC = "3";//改产品规格
	public static final String ACTION_TYPE_CD_PROD_NUMBER = "10";//改主接入号
	public static final String ACTION_TYPE_CD_PROD_2_AN = "11";//改非主接入号
	public static final String ACTION_TYPE_CD_PROD_ADDRESS = "9";//改安装地址
	public static final String ACTION_TYPE_CD_PROD_ATTR = "8";//改产品属性
	public static final String ACTION_TYPE_CD_PROD_CUST = "17";//过户(改客户)
	public static final String ACTION_TYPE_CD_PROD_ACCT = "19";//改帐户关系(改合同号)
	public static final String ACTION_TYPE_CD_PROD_SERV = "12";//服务变更
	public static final String ACTION_TYPE_CD_PROD_SERV_INFO = "13";//改服务信息
	public static final String ACTION_TYPE_CD_PROD_SERV_ATTR = "14";//改服务属性
	public static final String ACTION_TYPE_CD_PROD_TERMINAL = "15";//终端设备变更
	public static final String ACTION_TYPE_CD_ACCT_MAIL = "21";//改帐单投递信息
	public static final String ACTION_TYPE_CD_PROD_PWD = "23";//改产品密码
	public static final String ACTION_TYPE_CD_COMP_PROD_IN = "24";//加入组合产品
	public static final String ACTION_TYPE_CD_COMP_PROD_OUT = "25";//退出组合产品
	public static final String ACTION_TYPE_CD_COMP_PROD_ROLE = "26";//改组合产品成员角色
	public static final String ACTION_TYPE_CD_COMP_PROD_ATTR = "27";//改成员产品属性
	public static final String ACTION_TYPE_CD_PROD_TIME = "30";//改产品状态（原改产品状态时间）
	public static final String ACTION_TYPE_CD_PROD_ACCESS_PWD = "33";//改非主接入号密码
	public static final String ACTION_TYPE_CD_OFFER_DIVVEIES = "46";//销售品改结算信息
	public static final String ACTION_TYPE_CD_PROD_FEE_TYPE = "52";//改预后标识
	public static final String ACTION_TYPE_CD_OFFER = "101";//销售品变更(包括订购和退订)
	public static final String ACTION_TYPE_CD_OFFER_TIME = "102";//销售品有效期变更(bo_offer)
	public static final String ACTION_TYPE_CD_OFFER_ROLE = "103";//成员变更
	public static final String ACTION_TYPE_CD_OFFER_PARAM = "104";//改参数
	public static final String ACTION_TYPE_CD_BUSI_ATTR = "62";//改订单属性
	public static final String ACTION_TYPE_CD_OFFER_CUST = "105";//过户(销售品)
	public static final String ACTION_TYPE_CD_OFFER_ACCT = "106";//改支付关系
	public static final String ACTION_TYPE_CD_OFFER_FEE_TYPE = "107";//改付费方式
	public static final String ACTION_TYPE_CD_OFFER_RELA = "108";//改销售品关系
	public static final String ACTION_TYPE_CD_CUST = "181";//客户变更
	public static final String ACTION_TYPE_CD_ACCT = "201";//帐户变更
	public static final String ACTION_TYPE_CD_PROD_COUPON = "50";//改物品
	public static final String ACTION_TYPE_CD_ACCT_INFO = "20";//改帐户信息
	public static final String ACTION_TYPE_CD_PROD_RELA = "53";//产品关系
	public static final String ACTION_TYPE_CD_PAYMENT_ACCOUNT = "202";//支付账户变更
	public static final String ACTION_TYPE_CD_ACCT_2_PAY_ACCT = "203";//外部支付账户关联变更
	public static final String ACTION_TYPE_CD_ACCTOUNT_ITEM = "205";//账户属性信息变更
	//原子动作类型Integer
	public static final int INTEGER_ACTION_TYPE_CD_SYS = 0;//系统使用
	public static final int INTEGER_ACTION_TYPE_CD_PROD = 1;//产品变更(包括新装和拆机)
	public static final int INTEGER_ACTION_TYPE_CD_PROD_INFO = 2;//改产品有效期(bo_prod)
	public static final int INTEGER_ACTION_TYPE_CD_PROD_SPEC = 3;//改产品规格
	public static final int INTEGER_ACTION_TYPE_CD_PROD_NUMBER = 10;//改主接入号
	public static final int INTEGER_ACTION_TYPE_CD_PROD_2_AN = 11;//改非主接入号
	public static final int INTEGER_ACTION_TYPE_CD_PROD_ADDRESS = 9;//改安装地址
	public static final int INTEGER_ACTION_TYPE_CD_PROD_ATTR = 8;//改产品属性
	public static final int INTEGER_ACTION_TYPE_CD_PROD_CUST = 17;//过户(改客户)
	public static final int INTEGER_ACTION_TYPE_CD_PROD_ACCT = 19;//改帐户关系(改合同号)
	public static final int INTEGER_ACTION_TYPE_CD_PROD_SERV = 12;//服务变更
	public static final int INTEGER_ACTION_TYPE_CD_PROD_SERV_INFO = 13;//改服务信息
	public static final int INTEGER_ACTION_TYPE_CD_PROD_SERV_ATTR = 14;//改服务属性
	public static final int INTEGER_ACTION_TYPE_CD_PROD_TERMINAL = 15;//终端设备变更
	public static final int INTEGER_ACTION_TYPE_CD_ACCT_MAIL = 21;//改帐单投递信息
	public static final int INTEGER_ACTION_TYPE_CD_PROD_PWD = 23;//改产品密码
	public static final int INTEGER_ACTION_TYPE_CD_COMP_PROD_IN = 24;//加入组合产品
	public static final int INTEGER_ACTION_TYPE_CD_COMP_PROD_OUT = 25;//退出组合产品
	public static final int INTEGER_ACTION_TYPE_CD_COMP_PROD_ROLE = 26;//改组合产品成员角色
	public static final int INTEGER_ACTION_TYPE_CD_COMP_PROD_ATTR = 27;//改成员产品属性
	public static final int INTEGER_ACTION_TYPE_CD_PROD_TIME = 30;//改产品状态（原改产品状态时间）
	public static final int INTEGER_ACTION_TYPE_CD_PROD_ACCESS_PWD = 33;//改非主接入号密码
	public static final int INTEGER_ACTION_TYPE_CD_OFFER_DIVVEIES = 46;//销售品改结算信息
	public static final int INTEGER_ACTION_TYPE_CD_PROD_FEE_TYPE = 52;//改预后标识
	public static final int INTEGER_ACTION_TYPE_CD_OFFER = 101;//销售品变更(包括订购和退订)
	public static final int INTEGER_ACTION_TYPE_CD_OFFER_TIME = 102;//销售品有效期变更(bo_offer)
	public static final int INTEGER_ACTION_TYPE_CD_OFFER_ROLE = 103;//成员变更
	public static final int INTEGER_ACTION_TYPE_CD_OFFER_PARAM = 104;//改参数
	public static final int INTEGER_ACTION_TYPE_CD_BUSI_ATTR = 62;//改订单属性
	public static final int INTEGER_ACTION_TYPE_CD_OFFER_CUST = 105;//过户(销售品)
	public static final int INTEGER_ACTION_TYPE_CD_OFFER_ACCT = 106;//改支付关系
	public static final int INTEGER_ACTION_TYPE_CD_OFFER_FEE_TYPE = 107;//改付费方式
	public static final int INTEGER_ACTION_TYPE_CD_OFFER_RELA = 108;//改销售品关系
	public static final int INTEGER_ACTION_TYPE_CD_CUST = 181;//客户变更
	public static final int INTEGER_ACTION_TYPE_CD_ACCT = 201;//帐户变更
	public static final int INTEGER_ACTION_TYPE_CD_PROD_COUPON = 50;//改物品
	public static final int INTEGER_ACTION_TYPE_CD_ACCT_INFO = 20;//改帐户信息
	public static final int INTEGER_ACTION_TYPE_CD_PROD_RELA = 53;//产品关系
	public static final int INTEGER_ACTION_TYPE_CD_PAYMENT_ACCOUNT = 202;//支付账户变更
	public static final int INTEGER_ACTION_TYPE_CD_ACCT_2_PAY_ACCT = 203;//外部支付账户关联变更
	public static final int INTEGER_ACTION_TYPE_CD_ACCTOUNT_ITEM = 205;//账户属性信息变更

	//关联类型
	public static final Integer RELA_TYPE_EXCLUDE = 200000;//互斥
	public static final Integer RELA_TYPE_DEPEND = 100000;//依赖
	public static final String STRING_RELA_TYPE_DEPEND = "100000";//依赖
	public static final Integer RELA_TYPE_TRANSITION = 100004;//过渡
	public static final Integer RELA_TYPE_AFTER = 100005;//后续
	public static final Integer RELA_TYPE_RELATED = 100006;//连带
	public static final Integer RELA_TYPE_BASIC = 100007;//基础
	public static final Integer RELA_TYPE_COEXIST = 100008;//共存
	public static final Integer RELA_TYPE_CONTINUE_ORDER = 100009;//续包
	public static final Integer RELA_TYPE_TSYH = 100010;//提速优惠
	public static final Integer RELA_TYPE_YH = 100011;//优惠
	public static final Integer RELA_TYPE_FORCE_RELATED = 100018;//强制关联
	public static final Integer RELA_TYPE_OPTION_RELATED = 100019;//可选关联
	public static final Integer RELA_TYPE_MODIFY = 100001;//修改
	public static final Integer RELA_TYPE_REPEAL = 100002;//撤销
	public static final Integer RELA_TYPE_PREORDER = 29;//提前受理
	public static final Integer RELA_TYPE_PROD_RELA = 30;//产品规格连带 
	public static final Integer RELA_TYPE_BUY_BACK = 100003;//返销关联关系
	public static final Integer RELA_TYPE_ONE_DEPEND = 120000;//可选依赖
	public static final Integer RELA_TYPE_ONE_CHANGE = 100013;//换挡

	//关联类别
	public static final Integer RELA_CLASS_SPEC = 1;//规格关系
	public static final Integer RELA_CLASS_PROD = 2;//产品关系
	public static final Integer RELA_CLASS_OFFER = 3;//销售品关系
	public static final Integer RELA_CLASS_CHAIN = 4;//动作链关系
	public static final Integer RELA_CLASS_ORDER = 5;//订单关系

	//产品关联关系
	public static final Integer PROD_REASON_CD_PAY = 100017;//捆绑支付
	public static final Integer PROD_REASON_CD_SUPP = 100020;//担保
	public static final Integer PROD_REASON_CD_SHARE = 100021;//ADSL电话线路共享
	public static final Integer PROD_REASON_CD_SAME_ADDR = 100022;//同址
	public static final Integer PROD_REASON_CD_BIND = 100003;//线路捆绑
	public static final Integer PROD_REASON_CD_SR_SHARE = 12;//资源共享
	public static final Integer PROD_REASON_CD_EXCLUDE = 3;//资源共享

	//实例状态
	public static final String INST_STATUS_UNEFFECT = "1200";//待生效
	public static final String INST_STATUS_EFFECTING = "1001";//将生效
	public static final String INST_STATUS_EFFECTED = "1000";//已生效		
	public static final String INST_STATUS_RECOVER = "1002";//待恢复
	public static final String INST_STATUS_INEFFECT = "1102";//待失效
	public static final String INST_STATUS_INEFFECTING = "1101";//将失效
	public static final String INST_STATUS_INEFFECTED = "1100";//已失效
	public static final String INST_STATUS_REPEAL = "1301";//待撤消

	//规格状态
	public static final Integer SPEC_STATUS_INUSE = 1000;//使用中

	//号码关联原因
	public static final Integer REASON_TYPE_CHOOSE_NUMBER = 5;//选号

	//要求类型标识
	public static final String TARGET_TYPE_FLAG_OFFER = "FLAG_OFFER";//要求销售品
	public static final String TARGET_TYPE_FLAG_ATTR = "FLAG_ATTR";//要求属性
	public static final String TARGET_TYPE_FLAG_SERV = "FLAG_SERV";//要求服务
	public static final String TARGET_TYPE_FLAG_PROD = "FLAG_PROD";//要求产品
	public static final String TARGET_TYPE_FLAG_COUPON = "FLAG_PROD_RELA";//要求产品关系
	public static final String TARGET_TYPE_FLAG_TERMINAL = "FLAG_TERMINAL";//要求终端
	public static final String TARGET_TYPE_FLAG_ONE_ACCT = "ONE_ACCTCD";//要求同一合同号
	public static final String ALL_RULE_TYPE = "all";//
	public static final String REQ_SERV_RULE_TYPE = "h";//
	public static final String REQ_SERV_ITEM_RULE_TYPE = "g";
	public static final String REQ_PROD_ITEM_RULE_TYPE = "k";
	public static final String REQ_PROD_TM_SPEC_RULE_TYPE = "c";
	public static final String REQ_PROD_TM_MODEL_RULE_TYPE = "b";
	public static final String REQ_PROD_COMP_RELA_RULE_TYPE = "d";
	public static final String NEED_BIND_PAY_RULE_TYPE = "NEED_BAND_PAY";
	public static final String NEED_BAND_INSTALL_RULE_TYPE = "NEED_BAND_INSTALL";
	public static final String NEED_ASSURE_RULE_TYPE = "NEED_ASSURE";
	public static final String REQ_PROD_RELA_RULE_TYPE = "f";
	public static final String REQ_SEGMENT_RULE_TYPE = "REQ_SEGMENT";

	//业务动作类型(常用的相同)
	public static final String BO_ACTION_TYPE_CD_OFFER_ORDER = "S1";//订购
	public static final String BO_ACTION_TYPE_CD_OFFER_BREAK = "S2";//退订
	public static final String BO_ACTION_TYPE_CD_OFFER_ROLE = "S3";//成员变更
	public static final String BO_ACTION_TYPE_CD_OFFER_PARAM = "S4";//改销售品参数
	public static final String BO_ACTION_TYPE_CD_OFFER_CUST = "S5";//销售品改属主(过户)
	public static final String BO_ACTION_TYPE_CD_NEW_INSTALL = "1";//新装
	public static final String BO_ACTION_TYPE_CD_CHANGE_NUM = "2";//改号
	public static final String BO_ACTION_TYPE_CD_PROD_BREAK = "3";//拆机
	public static final String BO_ACTION_TYPE_CD_CHANGE_ZW = "6";//修改帐务信息 ID
	public static final String BO_ACTION_TYPE_CD_CHANGE_SERV = "7";//服务信息变动
	public static final String BO_ACTION_TYPE_CD_PROD_CUST = "11";//产品过户
	public static final String BO_ACTION_TYPE_CD_TJBHZT = "19";//停机保号/暂停
	public static final String BO_ACTION_TYPE_CD_TJBHFJHF = "20";//停机保号复机/恢复 ID
	public static final String BO_ACTION_TYPE_CD_PROD_MOVE = "21";//移机
	public static final String BO_ACTION_TYPE_CD_MODIFY_RATE = "51";//改速率
	public static final String BO_ACTION_TYPE_CD_PROD_2_AN = "52";//帐号变更
	public static final String BO_ACTION_TYPE_CD_QFCJ = "66";//欠费拆机 ID
	public static final String BO_ACTION_TYPE_CD_WZTJFJ = "67";//违章停机复机 ID
	public static final String BO_ACTION_TYPE_CD_YCJ = "4020200000";//预拆机 ID
	public static final String BO_ACTION_TYPE_CD_COMP_PROD = "1000";//组合,套餐类成员变更
	public static final String BO_ACTION_TYPE_CD_FEE_TYPE = "1244";//预后互改
	public static final String BO_ACTION_TYPE_CD_PROD_ITEM = "1179";//修改产品属性
	public static final String BO_ACTION_TYPE_CD_REPEAL = "3000";//撤单
	public static final String BO_ACTION_TYPE_CD_CHANGE_ACCT = "-6";//改合同号
	public static final String BO_ACTION_TYPE_CD_OFFER_CHANGE = "997";//套餐变更
	public static final String BO_ACTION_TYPE_CD_COMBO_IN = "998";//加入套餐
	public static final String BO_ACTION_TYPE_CD_COMBO_OUT = "999";//退出套餐
	public static final String BO_ACTION_TYPE_CD_ADD_ACCT = "A1";//创建账户
	public static final String BO_ACTION_TYPE_CD_MODIFY_ACCT = "A2";//修改账户
	public static final String BO_ACTION_TYPE_CD_ADD_CUST = "C1";//创建客户
	public static final String BO_ACTION_TYPE_CD_URGENT_OPEN = "110";//紧急开机
	public static final String BO_ACTION_TYPE_CD_DELAY_CLOSE = "111";//延时停机
	public static final String BO_ACTION_TYPE_CD_OFF_CONTINUE = "S6";//销售品续包
	public static final String BO_ACTION_TYPE_CD_OFF_Delay = "S8";//销售品延期
	public static final String BO_ACTION_TYPE_CD_OFF_AGRMENT = "S9";//销售品改协议期
	public static final String BO_ACTION_TYPE_CD_OFFER_RELA = "S10";//改销售品关系
	public static final String BO_ACTION_TYPE_CD_MODIFY_CUST = "5";//修改客户信息
	public static final String BO_ACTION_TYPE_CD_PROD_CARD = "14";//产品补机补卡
	public static final String BO_ACTION_TYPE_CD_WZTJ = "41";//违章停机 ID
	public static final String BO_ACTION_TYPE_CD_QFDT = "42";//欠费单停 ID
	public static final String BO_ACTION_TYPE_CD_QFST = "43";//欠费双停 ID
	public static final String BO_ACTION_TYPE_CD_DTFJ = "44";//单停复机 ID
	public static final String BO_ACTION_TYPE_CD_STFJ = "45";//双停复机 ID
	public static final String BO_ACTION_TYPE_CD_TJBHXT = "48";//停机保号续停 ID
	public static final String BO_ACTION_TYPE_CD_SHORT_NUM = "54";//修改短号
	public static final String BO_ACTION_TYPE_CD_MODIFY_ORDER = "63";//修改订单
	public static final String BO_ACTION_TYPE_CD_GJGJX = "1175";//割接改局向 ID
	public static final String BO_ACTION_TYPE_CD_PARTY_INFO_M = "75";//用户资料维护
	public static final String BO_ACTION_TYPE_CD_PHS_CHANGE = "15";//小灵通换机
	public static final String BO_ACTION_TYPE_CD_XXCC = "1242";//信息擦除
	public static final String BO_ACTION_TYPE_CD_PW_RESET = "1243";//密码重置
	public static final String BO_ACTION_TYPE_CD_IN_SHLF = "1249";//加入十户联防
	public static final String BO_ACTION_TYPE_CD_OUT_SHLF = "1250";//退出十户联防
	public static final String BO_ACTION_TYPE_CD_MOD_QYZJ = "315";//改企业总机
	public static final String BO_ACTION_TYPE_CD_XYVPN_IN = "1254";//加入天翼校园自助VPN	
	public static final String BO_ACTION_TYPE_CD_WZCJ = "4020300002";//违章拆机 ID	
	public static final String BO_ACTION_TYPE_CD_WJHCJ = "4020400000";//未激活拆机 ID	
	public static final String BO_ACTION_TYPE_CD_FX = "5010100002";//返销 ID		
	public static final String BO_ACTION_TYPE_CD_HYFX = "3030200000";//合约返销
	public static final String BO_ACTION_TYPE_CD_BHKFX = "7040100001";//补换卡返销
	public static final String BO_ACTION_TYPE_CD_GZD = "4040800002";//改终端（手机）
	public static final String Bo_ACTION_TYPE_CD_QZCJ = "4020300000";//强制拆机
	public static final String BO_ACTION_TYPE_CD_CUST = "C1";//新建客户	
	public static final String BO_ACTION_TYPE_CD_QXZ = "4010100001";//群新装
	public static final String BO_ACTION_TYPE_CD_KHFD = "1020500000"; //客户反档
	public static final String BO_ACTION_TYPE_CD_CZ = "4041500000"; //充值
	public static final String BO_ACTION_TYPE_CD_ZJYYC = "-1";//只校验一次
	public static final String BO_ACTION_TYPE_CD_BHK = "14"; //补换卡
	public static final String BO_ACTION_TYPE_CD_CHANGEUSER = "4040100000"; //改使用人
	public static final String BO_ACTION_TYPE_CD_ZDYY = "3010300000";//终端预约
	public static final String BO_ACTION_TYPE_CD_CPFX = "4041700000"; //产品返销
	public static final String BO_ACTION_TYPE_CD_LHTJ = "4040599999"; //靓号调级

	//原子动作判断返回值
	//18、订单项状态
	public static final String BO_ACTION_STATUS_S = "100001";//保存未通过校验
	public static final String BO_ACTION_STATUS_P = "100002";//保存已通过校验
	public static final String BO_ACTION_STATUS_T = "100003";//订单修改
	public static final String BO_ACTION_STATUS_D = "100004";//作废
	public static final String BO_ACTION_STATUS_N = "201300";//开通中
	public static final String BO_ACTION_STATUS_W = "201700";//等待调度
	public static final String BO_ACTION_STATUS_C = "301200";//已归档
	public static final String BO_ACTION_STATUS_U = "400001";//被修改
	public static final String BO_ACTION_STATUS_G = "400002";//撤消中	
	public static final String BO_ACTION_STATUS_R = "401700";//已撤单
	public static final String BO_ACTION_STATUS_Q = "999999";//动作链校验未通过

	//19、原子动作判断返回值
	public static final Integer AO_NOT_EXIST = 0;//原子动作不存在
	public static final Integer AO_PASS = 1;//原子动作存在且不是由当前原子动作引发或者已经校验通过
	public static final Integer AO_GO_AHEAD = 2;//原子动作存在且由当前原子动作引发和待校验

	//业务动作判断返回值
	public static final Integer BO_EXIST = 1;//业务动作存在
	public static final Integer BO_NOT_EXIST = 2;//业务动作不存在

	//销售品业务分类
	public static final Integer BUSI_TYPE_BASIC_OFFER = 10;//基础销售品
	public static final Integer BUSI_TYPE_BASIC_OFFER_TC = 11;//套餐销售品
	public static final Integer BUSI_TYPE_BASIC_OFFER_FW = 12;//可选包
	public static final Integer BUSI_TYPE_BASIC_OFFER_CX = 13;//促销
	public static final Integer BUSI_TYPE_BASIC_OFFER_ZQXY = 14;//政企协议

	//销售品类型(对应主副销售品分类crm_offer_type)
	public static final String OFFER_TYPE_CD_MAIN = "1";//主销售品
	public static final String OFFER_TYPE_CD_SERV_OFFER = "2";//附属销售品
	//销售品类型(对应销售品分类offer_type)
	public static final String OFFER_TYPE_CD_11 = "11";//主销售品
	public static final String OFFER_TYPE_CD_12 = "12";//附属销售品

	//动作种类
	//Integer类型
	public static final Integer ACTION_CLASS_CUST = 1000;//客户动作
	public static final Integer ACTION_CLASS_ACCT = 1100;//帐户动作	
	public static final Integer ACTION_CLASS_OFFER = 1200;//销售品动作
	public static final Integer ACTION_CLASS_PRODUCT = 1300;//产品动作
	public static final Integer ACTION_CLASS_ORDER = 1400;//订单动作
	//String类型,用于对应数据库字段类型,修改时需要同步修改
	public static final String ACTION_CLASS_PRODUCT_STR = "1300";//产品动作
	public static final String ACTION_CLASS_OFFER_STR = "1200";//销售品动作
	//int类型
	public static final int INT_ACTION_CLASS_ACCT = 1100;//帐户动作
	public static final int INT_ACTION_CLASS_OFFER = 1200;//销售品动作
	public static final int INT_ACTION_CLASS_PRODUCT = 1300;//产品动作
	public static final int INT_ACTION_CLASS_ORDER = 1400;//订单动作
	public static final int INT_ACTION_CLASS_MKTRES = 1600;//营销资源动作

	//服务规格类型
	public static final Integer CUSTOMER_FACING_SERV = 1;//客户类服务
	public static final Integer RESOURCE_FACING_SERV = 2;//资源类服务
	public static final Integer SSID_PHONE_CALLER_DISP = 20;//来电显示
	public static final Integer SSID_XTTX = 842;//协同通信基础服务
	public static final Integer SSID_PHONE_96800 = 2;//96800
	public static final Integer SSID_PHONE_NUM_NOTI = 7;//改号通知音
	public static final Integer SSID_PHONE_GLOBAL = 8;//国际长途权限
	public static final Integer SSID_COLORFUL_RING = 41;//七彩铃音
	public static final Integer SSID_PHS_BACKUP = 42;//PHS同振
	public static final Integer SSID_114 = 153;//114列名服务
	public static final Integer SSID_HB = 154;//号簿列名服务
	public static final Integer SSID_157_PHSTEST = 157;//PHS内部测试服务
	public static final Integer SSID_PHONE_11800 = 161;//11800全国伴我行
	public static final Integer SSID_11808 = 171;//11808
	public static final Integer SSID_17909_SJKB = 184;//17909手机捆绑
	public static final Integer SSID_NO_OTHER_DEALER = 214;//有条件长途优惠
	public static final Integer SSID_PHONE_BWX_child = 223;//11800伴我行（子账号）
	public static final Integer SSID_TZYW = 234;//同时振铃
	public static final Integer SSID_ZJ_COLORFUL_RING = 235;//主叫彩铃
	public static final Integer SSID_HFYCX = 249;//话费易查询
	public static final Integer SSID_PHONE_118114 = 283;//118114
	public static final Integer SSID_11803 = 285;//11803
	public static final Integer SSID_SHSJ = 363;//双号双机（无锡叫“一号双机”）
	public static final Integer BSS_SERV_COMMON = 458;//客户服务等级标准
	public static final Integer SSID_MUTI_TERM_NET = 462;//多终端上网
	public static final Integer SSID_BKYW = 595;//备卡业务
	public static final Integer SSID_CDMA_COLORFUL_RING = 651;//CDMA_七彩铃音
	public static final Integer SSID_C_GDXZY = 737;//C+固短信转移
	public static final Integer SSID_C_GTONGZ = 738;//C+固同振
	public static final Integer SSID_C_GTONGH = 739;//C+固同号
	public static final Integer SSID_C_GDXZJTH = 740;//C+固短信主叫替换
	public static final Integer SSID_DWFW = 1056;//断网服务
	public static final Integer SSID_EVDO = 809;//evdo服务
	public static final Integer SSID_GLOBAL_MY = 602;//国际漫游服务
	public static final Integer SSID_1X = 638;//1x服务
	public static final Integer SSID_PURE_ITV = 10040;//纯ITV
	public static final Integer SSID_FORBIT_ONLINE = 248;//禁止上网
	public static final Integer BSS_PARTY_DIAMOND = 330;//VIP钻
	public static final Integer BSS_PARTY_GOLD = 331;//VIP金
	public static final Integer BSS_PARTY_SILVER = 332;//VIP银
	public static final Integer SSID_BES = 1065;//BES服务
	public static final Integer SSID_CAMPUS = 1125;//校园应用服务
	public static final Integer SSID_ENTERPRISE = 1126;//企业应用服务
	public static final Integer SSID_BUS = 1127;//公交应用服务
	public static final Integer SSID_SHANDE = 1128;//衫德应用服务
	public static final Integer SSID_BANK = 1129;//银行应用服务
	public static final Integer SSID_EPay = 1144;//翼支付
	public static final Integer SSID_ONCEPASSWORD = 1148;//一次一密
	public static final Integer SSID_JTAP = 1083;//家庭AP
	public static final Integer SSID_ITVDKGX = 10037;//iTV_带宽共享
	public static final Integer SSID_ITVBQ = 10026;//iTV_通用 标清的父类
	public static final Integer SSID_ITVGQ = 10034;//iTV_高清试点 高清的父类
	public static final Integer SSID_ITVDZDFW = 10035;//iTV_多终端服务
	public static final Integer SSID_KDSLBZ1 = 1233;//宽带速率保障1
	public static final Integer SSID_KDSLBZ2 = 1234;//宽带速率保障2
	public static final Integer SSID_iTVKDBR = 1208;//iTV-带宽包容
	public static final Integer SSID_CARDTWONUM = 1281;//一卡双号服务
	public static final Integer SSID_BIS = 1066;//BIS服务

	//校验结果
	public static final String RESFLAG_PAUSE = "-1";//暂停预留
	public static final String RESFLAG_SUCCESS = "0";//成功
	public static final String RESFLAG_PROMPT = "1";//提示
	public static final String RESFLAG_ERROR = "2";//错误
	public static final String ResFlag_PromptLevel = "3";//提示级规则返回值
	public static final String ResFlag_MiddleLevel = "4";//中级规则返回值
	public static final String ResFlag_Highlevel = "5";//高级规则返回值
	public static final String ResFlag_Speciallevel = "6";//特级规则返回值
	public static final String ResFlag_Limitlevel = "7";//限制级规则返回值
	public static final String ResFlag_LimitNotPromptlevel = "8";//限制级不提示规则返回值

	public static final String RULESHOWRESULT_PASS = "0000";//规则校验通过
	public static final String RULESHOWRESULT_SUCCESS = "0001";//规则校验通过但不展现
	public static final String RULESHOWRESULT_NOTPASS = "0002";//规则校验不通过
	public static final String RULESHOWRESULT_FAULT = "0009";//规则校验异常

	public static final Integer RuleLevel_Pass = -1;//规则等级[通过级]
	public static final Integer RuleLevel_Prompt = 0;//规则等级[提示级]

	//销售品的成员角色
	public static final Integer MEMBER_ROLE_NESTIFICATION = 88888;//嵌套销售品
	public static final Integer MEMBER_ROLE_COMP_PROD = 90000;//组合产品
	public static final Integer MEMBER_ROLE_MEB_SERV = 99999;//成员服务（多产品附属产品成员）
	public static final Integer MEMBER_ROLE_MEB_SINGLE_SERV = 99998;//单产品附属产品成员
	public static final Integer PROD_COMP_RELA_ROLE_COMMON = 1;//一般构成成员
	public static final Integer PROD_COMP_RELA_ROLE_YHSJ_PHONE = 6;//一号双机固话
	public static final Integer PROD_COMP_RELA_ROLE_YHSJ_PHS = 7;//一号双机小灵通
	public static final Integer PROD_COMP_RELA_ROLE_VPNQZ = 605;//群主
	public static final Integer PROD_COMP_RELA_ROLE_JJPHONE = 315;//接警电话
	public static final Integer PROD_COMP_RELA_ROLE_BJPHONE = 318;//报警电话
	public static final Integer PROD_COMP_RELA_ROLE_C_CDMA = 261;//C+固天翼成员
	public static final Integer PROD_COMP_RELA_ROLE_C_PHONE = 262;//C+固固话成员
	public static final Integer PROD_COMP_RELA_ROLE_PRIMARY = 3;//设备连选模的主端
	public static final Integer PROD_COMP_RELA_ROLE_SECOND = 4;//设备连选模的从端
	public static final Integer MEMBER_ROLE_LXFK = 330;//乐享副卡
	public static final Integer MEMBER_ROLE_LXZK = 329;//乐享主卡
	public static final Integer MEMBER_ROLE_GHZW = 237;//固话子网

	//参与人关系角色
	public static final Integer PARTY_PROD_RELA_ROLE_PROD_CUST = 0;//产权客户
	public static final Integer PARTY_PROD_RELA_ROLE_PROD_RESPONSIBLE = 2;//责任人人
	public static final Integer PARTY_PROD_RELA_ROLE_ASSURE = 5;//担保人

	//产品地址关联原因
	public static final Integer PROD_ADDR_REASON_INSTALL = 1;//装机地址

	//限制条件维度
	public static final Integer LIMIT_DIMENSION_AREA = 1;//地区
	public static final Integer LIMIT_DIMENSION_CHANNEL = 2;//渠道
	public static final Integer LIMIT_DIMENSION_PARTY_SEGMENT = 3;//客户分段
	public static final Integer LIMIT_DIMENSION_STAFF = 4;//受理员工
	public static final Integer LIMIT_DIMENSION_G_Y_TYPE = 5;//甲乙种(根据客户类型,个人，组织)
	public static final Integer LIMIT_DIMENSION_NEW_OLD_PARTY = 6;//新老用户
	public static final Integer LIMIT_DIMENSION_TIME_NUMBER = 7;//订购间隔时长(月),最多订购次数(rang_id中间用,分隔)
	public static final Integer LIMIT_DIMENSION_PROD_SEGMENT = 8;//产品分段
	public static final Integer LIMIT_DIMENSION_DEVICE_MODEL = 9;//设备型号
	public static final Integer LIMIT_DIMENSION_FEE_TYPE = 10;//付费类型限制
	public static final Integer LIMIT_DIMENSION_INSTALL = 16;//在组内互改时不要求成员新装
	public static final Integer LIMIT_DIMENSION_PROD_STATUS = 10001;//产品状态
	public static final Integer LIMIT_DIMENSION_BO_ACTION_TYPE = 10002;//业务动作类型
	public static final Integer LIMIT_DIMENSION_COMP_PROD_SPEC = 10003;//组合产品规格
	public static final Integer LIMIT_DIMENSION_ORDER_STATUS = 10005;//订单状态
	public static final Integer LIMIT_DIMENSION_PROD_ITEM_SPEC = 10006;//产品实例属性规格
	public static final Integer LIMIT_DIMENSION_ITEM_SPEC_VAL = 10007;//属性规格值
	public static final Integer LIMIT_DIMENSION_PROD_SPEC = 10008;//产品规格值
	public static final Integer LIMIT_DIMENSION_CONFLICT_BO = 10009;//互斥的产品业务动作
	public static final Integer lIMIT_DIMENSION_INST_TIME = 10010;//订购时产品入网时间限制
	public static final Integer ITEM_SPEC_IP_NUMBER = 26;//iP个数
	public static final Integer ISID_FIBER_BIP_RATE = 14;//光纤宽带速率
	public static final Integer ITEM_SPEC_NEED_CHECK = 111111128;//业务动作是否校验
	public static final Integer LIMIT_DIMENSION_PROD_COUNT = 20;

	//属性规格常量(本地化)
	public static final Integer ISID_ADSL_RATE = 12;//ADSL下行速率
	public static final Integer ISID_RATE_UP = 73;//宽带上行速率

	//服务规格标识
	public static final Integer SSID_JZSL = 904;//基准速率
	public static final Integer SSID_TSSL = 905;//提速速率

	//帐期切换日
	public static final String BILL_DAY = "01";

	//关联关系
	public static final Integer REASON_BIND_PAY = 100017;
	public static final Integer REASON_ASSURE = 100020;
	public static final Integer REASON_SHARE_LINE = 100021;

	//协议类型
	public static final Integer AGREEMENT_TYPE_OFFER = 1;//销售品

	//付费方式
	public static final String FEE_TYPE_COMMON_1200 = "1200";//后付费
	public static final String FEE_TYPE_COMMON_1201 = "1201";//准实时预付费
	public static final String FEE_TYPE_LTE_1202 = "1202";//可预可后，默认后付
	public static final String FEE_TYPE_MVNO_1202 = "1202";//准预付费实时信控
	public static final String FEE_TYPE_COMMON_2100 = "2100";//预付费
	public static final String FEE_TYPE_COMMON_2101 = "2101";//可预可后，默认预付
	public static final String FEE_TYPE_MVNO_2102 = "2102";//可预可后，默认后付	
	public static final String FEE_TYPE_COMMON_3100 = "3100";//预后不限
	public static final String FEE_TYPE_COMMON_3101 = "3101";//预付+准实时预付费
	public static final String FEE_TYPE_COMMON_3102 = "3102";//实时预付费+后付
	public static final String FEE_TYPE_COMMON_3103 = "3103";//预付+后付+准实时预付费
	public static final String FEE_TYPE_MVNO_4101 = "4101";//后付费+准预付费实时信控
	public static final String FEE_TYPE_MVNO_4102 = "4102";//预付费+准预付费实时信控
	public static final String FEE_TYPE_MVNO_4103 = "4103";//准实时预付费+准预付费实时信控
	public static final String FEE_TYPE_MVNO_4104 = "4104";//预付费+后付费+准预付费实时信控
	public static final String FEE_TYPE_MVNO_4105 = "4105";//预付费+准预付费+准预实时信控
	public static final String FEE_TYPE_MVNO_4106 = "4106";//后付费+准预付费+准预实时信控
	public static final String FEE_TYPE_MVNO_4107 = "4107";//预付+后付+准预付费+准预实时信控	

	//参与人类型
	public static final Integer PARTY_TYPE_PERSON = 1;//个人
	public static final Integer PARTY_TYPE_ORG = 2;//组织

	//so_const_confg中的常量类型
	public static final Integer TYPE_CLASS_UP_RATE = 9;//是否需要动作链解析宽带/光纤提速
	public static final Integer TYPE_CLASS_YH_ACCTMEM_SWITCH = 19000;//订购优惠销售品时有配置必须账户成员时,当被优惠销售品没有规则同一合同号规则组时能否订购销售品开关

	//购物车类型
	public static final Long OL_TYPE_CD_4 = 4l;//批量受理产生的购物车
	public static final Long OL_TYPE_CD_11 = 11l;//前台受理产生的购物车	
	public static final Long OL_TYPE_CD_12 = 12l;//转售EOP1接口调用	
	public static final Long OL_TYPE_CD_ESS = 2l;//ESS订单
	public static final Long OL_TYPE_CD_EOP_12 = 12l;//转售EOP1接口
	public static final Long OL_TYPE_CD_EOP_13 = 13l;//转售EOP1接口
	public static final Long OL_TYPE_CD_DXTSB = 80038L;//省份的短信提速包
	public static final Long OL_TYPE_CD_3G_8 = 8l;//3G集约订单
	public static final Long OL_TYPE_CD_3G_9 = 9l;//3G集约订单
	public static final Long OL_TYPE_CD_APPLE = 18l;//苹果店
	public static final Long OL_TYPE_CD_GZ = 19l;//公众号
	//动作链状态说明
	public static final String STATUS_INUSE = "inUse";//10,11,12,13,20
	public static final String STATUS_VALIDATE = "validate";//10,11,12,13

	/*时长单位编码*/
	public static final Integer TIME_UNIT_CD_ACCT_DAY = new Integer(7); //账期
	public static final Integer TIME_UNIT_CD_DAY = new Integer(1);//天
	public static final Integer TIME_UNIT_CD_WEEK = new Integer(2);//月
	public static final Integer TIME_UNIT_CD_MONTH = new Integer(3);//月
	public static final Integer TIME_UNIT_CD_QUARTER = new Integer(4);//年
	public static final Integer TIME_UNIT_CD_HALF_YEAR = new Integer(5);
	public static final Integer TIME_UNIT_CD_YEAR = new Integer(6);

	//账户关系类型
	public static final Integer ACCT_RELA_TYPE_CORE = 1;//核心账户类型
	public static final Integer ACCT_RELA_TYPE_UNION = 9;//集团账户类型

	//成员与组合业务类型
	public static final Integer TYPE_CLASS_PROD_BREAK_TOGETHER = 1;//产品拆机与组合一起拆机
	public static final Integer TYPE_CLASS_PROD_MOVE_TOGETHER = 2;//成员要同时移机/改址

	//产品规格
	public static final Integer PSID_CW = 805;//C+W
	public static final Integer PSID_GRZL = 372;//个人通讯助理
	public static final Integer PSID_ISDN2B_D = 359;//ISDN2B+D
	public static final Integer PSID_ISDN30B_D = 360;//ISDN30B+D
	public static final Integer PSID_ITV = 881;//itv
	public static final Integer PSID_CDMAVPN = 80000101;//CDMA真虚拟网
	public static final Integer PSID_CDMA = 379;//CDMA
	public static final Integer PSID_WILELESS_ACCT = 610;//无线宽带账号
	public static final Integer PSID_SCHOOL_ACCT = 419;//校园宽带账号
	public static final Integer PSID_WILELESS_E_CARD = 371;//无线E卡
	public static final Integer PSID_STUDENT_E = 789;//学子E行
	public static final Integer PSID_XTTX = 864;//--协同通信
	public static final Integer PSID_QCHAT = 884;//--qchat组合产品
	public static final Integer PSID_CPMXVPN = 80000110;//跨省混合真虚拟网
	public static final Integer VPN_LOCAL_PROD_SPEC_80000107 = 80000107;//本地混合计费虚拟网
	public static final Integer VPN_PRVNC_PROD_SPEC_80000109 = 80000109;//省内混合计费虚拟网
	public static final Integer VPN_NET_TYPE = 36031;//虚拟网类型
	public static final Integer VPN_NET_TYPE_OF_IVPN = 0;//智能网虚拟网(虚拟网类型)
	public static final Integer VPN_LOCAL_PROD_SPEC_3 = 3;//固话虚拟网
	public static final Integer PSID_PHONEVPN = 3;//电话虚拟网
	public static final Integer PSID_PHS = 1;//PHS ID
	public static final Integer PSID_PHS2 = 1;//102010100;//(PHS一体机)
	public static final Integer PSID_PHONE = 2;//普通电话 ID
	public static final Integer PSID_TRUNK_GROUP = 5;//连选组 ID
	public static final Integer PSID_N_ISDN = 6;//N_ISDN ID
	public static final Integer PSID_B_ISDN = 7;//B_ISDN
	public static final Integer PSID_800_PHONE = 8;//800电话
	public static final Integer PSID_ADSL = 9;//ADSL ID
	public static final Integer PSID_LAN = 10;//LAN ID
	public static final Integer PSID_FIBER_BIP = 11;//光纤宽带 ID
	public static final Integer PSID_LEASE_ADSL = 12;//专线ADSL ID
	public static final Integer PSID_LEASE_LAN = 13;//专线LAN ID
	public static final Integer PSID_LEASE_FIBER_BIP = 14;//专线光纤宽带 ID
	public static final Integer PSID_DDN_SPECIAL = 16;//DDN专线
	public static final Integer PSID_DDN_LINE = 16;//DDN专线 ID
	public static final Integer PSID_PHS_CENTREX = 17;//PHS虚拟网 ID
	public static final Integer PSID_FR_LINE = 21;//帧中继专线 ID
	public static final Integer PSID_ATM_LINE = 23;//ATM专线 ID
	public static final Integer PSID_16300ZC = 26;//16300注册 ID
	public static final Integer PSID_16388ZC = 27;//16388注册 ID
	public static final Integer PSID_EMAIL = 28;//电子信箱
	public static final Integer PSID_189_EMAIL = 869;//189互联网邮箱
	public static final Integer PSID_COMPANY_EMAIL = 314;//企业邮箱
	public static final Integer PSID_SMART_PUB_PHONE = 37;//智能公话 ID
	public static final Integer PSID_DIGITAL_CIRCUIT = 40;//数字电路出租
	public static final Integer PSID_MONI_LINE = 251;//模拟专线 ID
	public static final Integer PSID_OPTICAL_FIBRE = 258;//租用光纤
	public static final Integer PSID_SMART_CAMPUS_PHONE = 265;//校园电话 ID
	public static final Integer PSID_IP_PHONE_BAR = 272;//IP话吧电话 ID
	public static final Integer PSID_FAKE_CENTREX = 274;//假电话虚拟网 ID
	public static final Integer PSID_COM_SMART_PUB_PHONE_2 = 305;//智能公话组合(2部)		
	public static final Integer PSID_XYVPN = 892;//天翼校园自助VPN
	public static final Integer PSID_SHLF = 880;//十户联防
	public static final Integer PSID_YHSJ = 374;//一号双机
	public static final Integer PSID_WLDH_YH2J = 417;//网络电话一号双机 ID
	public static final Integer PSID_WLDH_YH3J = 418;//网络电话一号三机 ID
	public static final Integer PSID_C_PHNOE = 505;//C+固
	public static final Integer PSID_CGCJWS = 505;//C+固超级无绳
	public static final Integer DEVICE_MODE = 300000001;//设备连选模组合
	public static final Integer DEVICE_COMP_NUM_CONTI = 300000006;//组合数字中继
	public static final Integer DEVICE_COMP_PHONE_NUM = 300000030;//组合电话数中
	public static final Integer DEVICE_COMP_ISDN = 300000060;//组合ISDN30B+D
	public static final Integer DEVICE_MODE_SECOND = 4300;//设备连选模从端
	public static final Integer DEVICE_SUB_SECOND_NUM_CONTI = 4301;//数字中继从端成员
	public static final Integer DEVICE_SUB_SECOND_PHONE_NUM = 4386;//电话数中从端成员
	public static final Integer DEVICE_SUB_SECOND_ISDN = 4375;//ISDN30B+D从端
	public static final Integer DEVICE_MODE_PRIMARY = 4108;//设备连选模主端
	public static final Integer DEVICE_SUB_PRIMARY_NUM_CONTI = 280000135;//数字中继专线主端
	public static final Integer DEVICE_SUB_PRIMARY_PHONE_NUM = 4137;//电话数中主端成员
	public static final Integer DEVICE_SUB_PRIMARY_ISDN = 360;//ISDN30B+D主端

	//地区区号
	public static final String ZJ_511 = "0511";//镇江4
	public static final String NT_513 = "0513";//南通26
	public static final String TZ_523 = "0523";//泰州79
	public static final String HA_517 = "0517";//淮安60
	public static final String NJ_025 = "025";//南京市3
	public static final String LYG_518 = "0518";//连云港63
	public static final String YZ_514 = "0514";//扬州33
	public static final String WX_510 = "0510";//无锡15
	public static final String SZ_512 = "0512";//苏州20
	public static final String YC_515 = "0515";//盐城39
	public static final String XZ_516 = "0516";//徐州48
	public static final String CZ_519 = "0519";//常州69
	public static final String SQ_527 = "0527";//宿迁84

	//产品分段
	public static final Integer BSS_SERV_GOLD = 1063;//产品等级金牌
	public static final Integer BSS_SERV_SILVER = 1064;//产品等级银牌
	public static final Integer BSS_SERV_DIAMOND = 1062;//产品等级钻石

	//审批券状态
	public static final Integer AUDIT_STATUS_USED = 6;//已使用
	public static final Integer AUDIT_STATUS_EXCHANGED = 7;//不可兑换
	public static final Integer AUDIT_STATUS_CAN_USE = 3;//可使用
	public static final Integer AUDIT_TYPE_CD_4 = 4;//终端抵用券

	//合法性校验，校验类型
	public static final String VALIDATE_TYPE_CD_FORBI = "forbiddenBusi";
	public static final String VALIDATE_VALUE_PROD_ID = "2";
	public static final String VALIDATE_VALUE_ACC_NUM = "1";

	//处理标识
	public static final String DEAL_FLAG_D = "D";//未处理

	//analyseBusiOrder的入参类型，表示是撤单还是改单
	public static final String TYPE_REPEAL = "2";//撤单
	public static final String TYPE_CHANGE = "3";//改单

	//销售品属性(所有的属性id要配到常量文件中，by zhuxia)
	public static final Integer OFFER_ITEM_SPEC_PREOPEN = 300000021;//销售品是否为活卡激活销售品
	public static final Integer ITEM_SPEC_NEW_RELATED = 300000006;//新装连带
	public static final Integer ITEM_SPEC_OLD_RELATED = 300000011;//老用户连带
	public static final Integer ISID_SPEC_OFFER_PRI_JZSL = 300000020;//基准速率优先销售品
	public static final Integer ISID_VPN_ACCT = 304837;//集团帐户
	public static final Integer ITEM_SPEC_OFFER_ROLE_TOGETHER = 300000015;//销售品必有成员是否同停同复
	public static final Integer ITEM_SPEC_OFFER_ROLE_ALL = 300000019;//销售品所有成员是否同停同复
	public static final Integer ITEM_SPEC_OFFER_ROLE_RELATED = 10001;//销售品成员同停同复是否连带其他成员
	public static final Integer ITEM_SPEC_20900003 = 20900003;//允许订购4G流量包的集团3G套餐
	public static final Integer ITEM_SPEC_1600001 = 1600001;//套餐档次
	public static final Integer OFFER_SPEC_LEVEL = 129;//允许单独订购4G功能产品的最低套餐档次限制
	public static final Integer ITEM_SPEC_20900001 = 20900001;//4G流量包
	public static final Integer ITEM_SPEC_800000006 = 800000006;//畅聊包
	public static final Integer ITEM_SPEC_1000001 = 1000001;//4G主销售品标识
	public static final Integer ITEM_SPEC_1000002 = 1000002;// 3G4G一体化套餐标识
	public static final Integer ITEM_SPEC_1000003 = 1000003;// 个人定制套餐标识
	public static final Integer ITEM_SPEC_1000004 = 1000004;// 网龄优惠打折销售品标识
	public static final Integer ITEM_SPEC_1000005 = 1000005;//规则用于套餐换挡时，应该保留的附属销售品的扩展属性
	public static final Integer ITEM_SPEC_20020049 = 20020049;//合约销售品属性标识
	public static final Integer ITEM_SPEC_800000001 = 800000001;//终端串码
	public static final Integer ITEM_SPEC_20900000 = 20900000;//可重复订购销售品标识
	public static final Integer ITEM_SPEC_11251742 = 11251742;//IMIS串码-腾讯视频促销
	public static final Integer ITEM_SPEC_20020102 = 20020102;//河南公司“线下购机活动”促销
	public static final Integer ITEM_SPEC_20020101 = 20020101;//终端组约束
	public static final Integer[] PROD_OFFER_ATTR_ID_4_SALES = new Integer[] { ITEM_SPEC_11251742, ITEM_SPEC_20020101,
			ITEM_SPEC_20020102 };//终端、节日促销销售品属性id,可由属性id区分是那类促销
	public static final Integer ITEM_SPEC_800000008 = 800000008;//销售品仅4G用户可订购标识
	public static final Integer ITEM_SPEC_800000009 = 800000009;//销售品适合用户标识
	public static final Integer ITEM_SPEC_30030000 = 30030000;//权限控制可订购的销售品
	public static final Integer ITEM_SPEC_800000043 = 800000043;//不可重复订购销售品标识
	public static final Integer ITEM_SPEC_800000044 = 800000044;//三换四订购标识的促销
	public static final Integer Item_SPEC_20030084 = 20030084;//物联网流量池可选包标识
	public static final Integer Item_SPEC_20030085 = 20030085;//代表号码属性
	public static final Integer Item_SPEC_20030098 = 20030098;//代表优惠券编码
	public static final Integer Item_SPEC_20020109 = 20020109;//测试促销销售品
	public static final Integer ITEM_SPEC_800000013 = 800000013;//终端预约定金类型
	public static final Integer ITEM_SPEC_20020108 = 20020108;//融合销售品标识

	/**
	 * 3转4不可订购4G套餐属性id
	 */
	public static final Integer ITEM_SPEC_800000080 = new Integer("800000080");

	//渠道规格
	public static final Integer CHANNEL_SPEC_ONLINE = 6;//网厅渠道

	//服务属性(所有的属性id要配置在常量文本中，todo by zhuxia)
	public static final Integer ITEM_SPEC_JZSL = 300992;//基准速率
	public static final Integer ITEM_SPEC_TSSL = 300993;//提速速率
	public static final Integer ITEM_SPEC_BREAK_NOW = 300455;//是否立即拆机（0否，1是）
	public static final Integer ISID_C_GDXZY_NUMBER = 302083;//C+固短信转移_短信转移号码
	public static final Integer ISID_C_GTONGZ_NUMBER = 302084;//C+固同振_同振号码
	public static final Integer ISID_C_GTONGH_NUMBER = 302085;//同号号码(C+固同号_同号号码)
	public static final Integer ISID_C_GDXZJTH_NUMBER = 302086;//同号号码(C+固短信主叫替换_同号号码)

	//生失效规则
	public static final String LIFECYCLE_RULE_00000 = "00000";//新用户订购立即，老用户订购立即，退订立即;成员变更立即;参数变更立即
	public static final String LIFECYCLE_RULE_00001 = "00001";//新用户订购立即，老用户订购立即，退订立即;成员变更立即;参数变更次月
	public static final String LIFECYCLE_RULE_00010 = "00010";//新用户订购立即，老用户订购立即，退订立即;成员变更次月;参数变更立即。
	public static final String LIFECYCLE_RULE_00011 = "00011";//新用户订购立即，老用户订购立即，退订立即;成员变更次月;参数变更次月。
	public static final String LIFECYCLE_RULE_00100 = "00100";//新用户订购立即，老用户订购立即，退订次月;成员变更立即;参数变更立即。
	public static final String LIFECYCLE_RULE_01011 = "01011";//新用户订购立即，老用户订购次月，退订立即;成员变更次月;参数变更次月。
	public static final String LIFECYCLE_RULE_01111 = "01111";//新用户订购立即，老用户订购次月，退订次月;成员变更次月;参数变更次月。
	public static final String LIFECYCLE_RULE_11011 = "11011";//新用户订购次月，老用户订购次月，退订立即;成员变更次月;参数变更次月。
	public static final String LIFECYCLE_RULE_11111 = "11111";//新用户订购次月，老用户订购次月，退订次月;成员变更次月;参数变更次月。

	//销售品规格状态：使用中
	public static final Integer OFFER_SPEC_STATUS_INUSE = 1000;

	//选号类型
	public static final Integer AN_CHOOSE_TYPE_CUST_CHOOSE = 2;//前台客户选择

	//业务动作属性
	public static final Integer ITEM_SPEC_IF_TML_CHANGE_NUMBER = 111111117;//是否跨局选号
	public static final Integer ITEM_SPEC_40010029 = 40010029;//不需要校验3G转4G路径一黑白名单

	//空缓存对象
	public static final String NULL_OBJECT = "string_110806851129840602";

	//时间
	//购物车缓存数据持续缓存时间 12小时 * 60分钟 * 60秒 * 1000毫秒
	public static final long DURATION_OL_CACHE_OBJECT = 12 * 60 * 60 * 1000;

	//属性item_spec的数据类型
	public static final Short ITEMSPEC_DSTYPECD_DISCRETE = 4;//离散值类型
	public static final Short ITEMSPEC_DSTYPECD_DISCRETE_MORE = 11;//离散多选类型

	//产品分段类型
	public static final Long SEGMENT_TYPE_CD_PARTY = 1L;//参与人分段
	public static final Long SEGMENT_TYPE_CD_PROD = 1L;//产品分段

	//原子动作修正类型
	public static final String ATOM_ACTION_STATUS_INSERT = "insert";//新增
	public static final String ATOM_ACTION_STATUS_UPDATE = "update";//修正
	public static final String ATOM_ACTION_STATUS_INNER_INSERT = "innerInsert";//规则内容使用的insert

	//规则类型srule_level_cfg.rule_type
	public static final Integer RUlE_TYPE_LIMIT_RULE = 1;
	public static final Integer RULE_TYPE_CHAIN = 2;

	//表名常量 
	public static final String TABLE_CUSTOMER_ORDER = "CUSTOMER_ORDER";
	public static final String TABLE_ORDER_ITEM = "ORDER_ITEM";
	public static final String TABLE_OFFER = "PROD_OFFER_INST";
	public static final String TABLE_ATOM_ACTION = "ATOM_ACTION";
	public static final String TABLE_ACCOUNT = "ACCOUNT";
	public static final String TABLE_PAYMENT_ACCOUNT = "PAYMENT_PLAN";
	public static final String TABLE_BO_PROD_COMP_ORDER = "OFFER_PROD_COMP";
	public static final String TABLE_BO_RELA = "ORDER_ITEM_REL";
	public static final String TABLE_OFFER_SERV = "PROD_INST_SERV";
	public static final String TABLE_OFFER_DIVVIES_INFO = "OFFER_DIVVIES_INFO";
	public static final String TABLE_OFFER_PARAM = "PROD_OFFER_INST_ATTR";
	public static final String TABLE_OFFER_PROD = "PROD_INST";
	public static final String TABLE_OFFER_MEMBER = "OFFER_PROD_INST_REL";
	public static final String TABLE_BO_2_COUPON = "BO_2_COUPON";

	//产品类型
	public static final String PRODUCT_TYPE_SINGLE_PROD = "10";//原子产品

	//产品关联关系CD
	public static final String PRODUCT_REL_TYPE_CD_ZC = "100600";//主从关系
	public static final String PRODUCT_REL_TYPE_CD_GC = "100300";//构成关系

	//实例状态
	public static final String INST_STATUS_CD_DSHENGX = "1200";//待生效 10
	public static final String INST_STATUS_CD_JSHENGX = "1001";//将生效 11
	public static final String INST_STATUS_CD_YSHENGX = "1000";//已生效 12	
	public static final String INST_STATUS_CD_DHF = "1002";//待恢复 13
	public static final String INST_STATUS_CD_DSHIX = "1102";//待失效 20
	public static final String INST_STATUS_CD_JSHIX = "1101";//将失效 21
	public static final String INST_STATUS_CD_YSHIX = "1100";//已失效 22

	//物品过程表ISOLD类型
	public static final String ISOLD_DEL = "B";//DEL
	public static final String ISOLD_ADD = "N";//ADD

	//产品规格状态
	public static final Integer PROD_SPEC_STATUS_CD_USING = 1000;//在用

	//销售品规格状态
	public static final Integer OFFER_SPEC_STATUS_CD_USING = 1000;//在用

	//集团销售品成员角色CD
	public static final Integer MAIN_CARD_ROLE_CD = 400;//主卡
	public static final Integer VICE_CARD_ROLE_CD = 401;//副卡
	public static final Integer Single_CARD_ROLE_CD = 1;//单卡成员
	public static final Integer WIRELESS_MAIN_CARD_ROLE_CD = 500;//无线主卡成员
	public static final Integer WIRELESS_VICE_CARD_ROLE_CD = 501;//无线副卡成员

	//属性规格
	public static final Long UIM_4G_TYPE_ATTR = 60020004l;//4GUIM卡标示
	public static final Integer OFFER_MONTH_VALUE = 1600001;//销售品月租费
	public static final Integer UP_TO_LOW_ATTR = 800000005;//高改低属性
	public static final Integer MINIMUM_AMOUNT = 1601000;

	//产品规格ID
	public static final Long PRODUCT_4G = 280000020l;//4G功能性产品
	public static final Long PRODUCT_ID_235010072 = 235010072l;//CtoC国际及港澳台数据漫游（包含1X/EVDO）
	public static final Long PRODUCT_ID_235010071 = 235010071l;//CtoG国际及港澳台漫游电话（包含语音及短信）
	public static final Long PRODUCT_ID_280000000 = 280000000l;//天翼宽带-无线数据卡
	public static final Long PRODUCT_ID_235010076 = 235010076l;//天翼MiFi国际及港澳台数据漫游
	public static final Long PRODUCT_ID_13409283 = 13409283l;//国际及港澳台数据漫游
	public static final Long PRODUCT_ID_13409281 = 13409281l;//国际及港澳台漫游电话（包含语音及短信）
	public static final Long PRODUCT_ID_13409243 = 13409243l;//一卡双号主号
	public static final Long PRODUCT_ID_13409244 = 13409244l;//一卡双号虚号	
	public static final Long PRODUCT_ID_235010000 = 235010000l;//移动电话（仅含本地语音）
	public static final Long PRODUCT_ID_CRBT_13412500 = 13412500L;//彩铃
	public static final Long PRODUCT_ID_13409441 = 13409441L;//天翼宽带-国际及港澳台数据漫游
	public static final Long PRODUCT_YZF = 235010004L;//翼支付
	public static final Long PSID_LTYY = 280000025L;//乐通（语音）
	public static final Long PSID_LTLL = 280000026L;//乐通（流量）
	public static final Long PRODUCT_ID_381002183 = 381002183L;//后向流量共享池成员产品
	public static final Long PRODUCT_ID_13409902 = 13409902L;//乐通-定向 
	public static final Long PRODUCT_ID_13409921 = 13409921L;//乐通-区域限制
	public static final Integer PRODUCT_ID_13410244 = 13410244;//超流限网功能产品

	//接入号状态
	public static final String ACC_NMB_ACTIVE = "1001";
	public static final String ACC_NMB_CAMPON = "1003";

	//销售品成员角色集团主数据编码
	public static final String OFFER_ROLE_COMPONENT_TYPE_CD_10100002 = "10100002";//基础移动电话
	public static final String OFFER_ROLE_COMPONENT_TYPE_CD_10200002 = "10200002";//基础无线宽带
	public static final String OFFER_ROLE_COMPONENT_TYPE_CD_10800000 = "10800000";//天翼云盘基础成员角色
	public static final String OFFER_ROLE_COMPONENT_TYPE_CD_20100002 = "20100002";//加装移动电话
	// 客户标识
	public static final String CUST_FLAG_WHITE_LIST = new String("1000"); //白名单
	public static final String CUST_FLAG_RED_LIST = new String("1100"); //红名单
	public static final String CUST_FLAG_BLACK_LIST = new String("1200"); //黑名单

	//某条规则生失效开关，生效：0、失效：1
	public static final String RULE_STATE_920035 = new String("0"); //规则920035开关

	//卡类型
	public static final String TD_ROAMING_4GLTE_2FF = "00700";
	public static final String TD_ROAMING_4GLTE_3FF = "00705";
	public static final String TD_ROAMING_4GLTE_4FF = "00701";

	//物品类型
	public static final Integer COUPON_TYPE_CD_103006000 = 103006000;

	//黑白名单日志开关
	public static final String CTL_LOPER_LOG = new String("0");

	//资源 mktResInstInfoQry接口 电渠订单区分资源和卡的instflag值 1 终端 2 卡
	public static final String MKT_INSTFLAG_1 = "1";
	public static final String MKT_INSTFLAG_2 = "2";
	//物品类型
	public static final Integer MKT_RES_TYPE_ID_101 = 101; //终端资源
	public static final Integer MKT_RES_TYPE_ID_103 = 103; //业务卡
	public static final Integer MKT_RES_ATTR_ID_60020001 = 60020001;//无线上网卡类型一
	public static final Integer MKT_RES_ATTR_ID_60020007 = 60020007;//无线上网卡类型二	
	public static final Integer MKT_RES_ATTR_ID_60020004 = 60020004; //4G卡属性ID 区分 3G OR 4g
	public static final Integer MKT_RES_ATTR_ID_60010013 = 60010013; //终端属性ID 区分 3G OR 4g
	public static final String MKT_RES_ATTR_VALUE_10080 = "10080"; //4G终端
	public static final String MKT_RES_ATTR_VALUE_10081 = "10081"; //4G终端
	public static final String MKT_RES_ATTR_VALUE_10090 = "10090"; //3G终端
	public static final String MKT_RES_ATTR_VALUE_10027 = "10027"; //3G终端
	public static final String MKT_RES_ATTR_VALUE_10091 = "10091"; //3G终端
	public static final String MKT_RES_ATTR_VALUE_4GCOMPATILE = "60010023";// 是否兼容4G
	public static final String MKT_RES_ATTR_VALUE_NFC = "60010024";// 是否兼容NFC
	public static final String MKT_RES_ATTR_VALUE_TYPE = "60010013";// 终端规格类型(4G/3G)  
	public static final String[] UIM_STANDARD_CD_4G = new String[] { "00700", "00701", "00702", "00703", "00704",
			"00705", "00706", "00312", "00313", "00314", "00812", "00813", "00814", "00707", "00708", "00709", "00315",
			"00815" }; //4g卡

	// 销售品类型
	public static final String PROD_OFFER_TYPE_13 = "13"; //促销

	//物品实例状态
	public static final String MKT_RES_INST_STATUS_ZK = "1001";//终端串码状态：在库（可销售）
	public static final String MKT_RES_INST_STATUS_YSXWBT = "1115";//终端串码状态：已销售未补贴
	public static final String MKT_RES_INST_STATUS_YSXYZ = "1213";//终端串码状态：已销售预占

	//电信管理区域 ID  冗余
	public static final Long COMMON_REGION_ID_UNLIMIT = new Long(-9999);
	public static final Long COMMON_REGION_ID_8320000 = new Long(8320000); //江苏省[2级地区]
	public static final Long COMMON_REGION_ID_8310000 = new Long(8310000); //上海市[2级地区]
	public static final Integer AREA_LEVEL_2 = Integer.valueOf(2);//二级地区
	public static final Integer AREA_LEVEL_3 = Integer.valueOf(3);//三级地区

	//渠道ID 冗余
	public static final Long CHANNEL_ID_UNLIMIT = new Long(-9999);

	// 客户类型 公众客户（1100）、政企客户：1000、其他客户:9900）
	public static final Long CUST_TYPE_1000 = new Long(1000);
	public static final Long CUST_TYPE_1100 = new Long(1100);

	// 云套餐标识 
	public static final Long SEGMENT_ID_1000 = new Long(1000);
	public static final Long SEGMENT_ID_DEFAULT = Long.valueOf(-9999);

	//批量受理类型 batch_type_config
	public static final Long batch_type_0 = new Long(0); // 开活卡
	public static final Long batch_type_1 = new Long(1); // 新装
	public static final Long batch_type_2 = new Long(2);//订购/退订

	//下省查询销售品成员角色信息开关
	public static final Integer GET_OFFER_MEMBER_OUT_INTF_SWITCH = new Integer(1);

	//异常单校验判断时间
	public static final Long EXCEPTION_CUSTOMER_ORDER_DATE = new Long(30 * 60 * 1000);

	//老用户入网时间
	public static final String Begin_Network_Time = "20151101000000";

	//销售品规格ID
	public static final Long PROD_OFFER_ID_81004 = new Long(81004);
	public static final Long PROD_OFFER_ID_81013 = new Long(81013);
	public static final Long PROD_OFFER_ID_YKSHXHZTC = Long.valueOf(1062);//一卡双号虚号主套餐
	public static final Long PROD_OFFER_ID_YKSHXHZTC2 = Long.valueOf(201405);//一卡双号虚号套餐2
	public static final Long PROD_OFFER_ID_YKSHXHTC_GNB_1Y = Long.valueOf(603);//一卡双号虚号套餐（国内版）/1元
	public static final Long PROD_OFFER_ID_YKSHXHTC_GNB_1Y2 = Long.valueOf(201403);//一卡双号虚号套餐（国内版）/1元2
	public static final Long PROD_OFFER_ID_XNTC = new Long(235010000);//虚拟套餐
	public static final Long PROD_OFFER_ID_GRDZ = new Long(1056);//个人定制套餐
	//业务规则相同代码在不同环境提供不同功能版本管控
	public static final String SRULE_RUN_ENVIRONMENT_CUR = new String(
			"ENVIRONMENT_PRODUCT");//业务规则当前运行环境，ENVIRONMENT_TEST：测试环境，ENVIRONMENT_PRODUCT：生产环境
	public static final String SRULE_RUN_ENVIRONMENT_PRODUCT = "ENVIRONMENT_PRODUCT";//业务规则生产环境版本标识
	public static final String SRULE_RUN_ENVIRONMENT_TEST = "ENVIRONMENT_TEST";//业务规则测试环境版本标识	

	//产品属性
	public static final Integer ITEM_SPEC_30010041 = 30010041; //是否免停
	public static final Integer ITEM_SPEC_30010042 = 30010042; //是否免催缴
	public static final Integer ITEM_SPEC_30010043 = 30010043; //是否免提醒
	public static final Integer ITEM_SPEC_10020055 = 10020055; //是否代表号码   Y是  N否
	public static final Integer ITEM_SPEC_10020054 = 10020054; //收费单位（物联网）
	public static final Integer ITEM_SPEC_20030084 = 20030084; //物联网流量池
	public static final Integer ITEM_SPEC_10010078 = 10010078;//IP/域名
	public static final Integer ITEM_SPEC_10010063 = 10010063;//定向省
	public static final Integer ITEM_SPEC_10010077 = 10010077;//断网状态属性值 1断网 0正常
	public static final Integer ITEM_SPEC_10020121 = 10020121;//实名登记类型，10普通用户，20测试卡用户

	//销售品合约补贴类型
	public static final Integer ACTIVTY_TYPEE_PHONE = 1;//机补
	public static final Integer ACTIVTY_TYPEE_MONEY = 2;//话补

	//员工与渠道关系
	public static final String STAFF_CHANNEL_RELA_VALID = "1";
	public static final String STAFF_CHANEEL_RELA_TYPE_10 = "10";

	//不需要重复校验的规则ID
	public static final Integer[] NONEED_DUPLICATE_CHECK_RULE = new Integer[] { 920024, 920036, 920122, 920150, 920039,
			920051, 920096, 920192, 920193, 720030 };

	//主套餐和苹果终端映射
	public static final String[] PROD_OFFER_COUPON_2_PGCOUPON = new String[] { "705923", "705934", "705901", "705907",
			"705908", "705909", "705894", "705912", "705900", "705924", "705888", "705925", "705890", "705936",
			"705937", "705887", "705933", "705895", "705926", "705889", "705935", "705938", "705927", "705902",
			"705896", "705913", "705914", "705930", "705931", "705910", "705920", "705899", "705921", "705939",
			"705915", "705916", "705918", "705919", "705892", "705886", "705911", "705922", "705928", "705891",
			"705929", "705903", "705945", "705898", "705941", "705904", "705905", "705944", "705917", "705897" };
	public static final Long[] PROD_OFFER_COUPON_2_PGOFFER = new Long[] { 81004l, 81010l, 81006l, 81005l, 81013l,
			81009l, 81008l, 81012l, 81007l, 82289l, 82277l, 81011l };

	//营销资源状态
	public static final String MKT_RES_STATUS_1115 = "1115";//已销售未补贴
	public static final String MKT_RES_STATUS_1108 = "1108";//已销售已补贴

	//员工操作权限
	public static final String STAFF_OPERATION_SPEC_CD_FDSL = "FDSL";//分段受理权限
	public static final String STAFF_OPERATION_ENABLE_BREAKOFFER = "ENABLE_BREAKOFFER";//销售品退订权限
	public static final String STAFF_OPERATION_ENABLE_BREAKOFFER_LH = "ENABLE_BREAKOFFER_LH";//销售品【靓号低消】退订权限
	public static final String STAFF_OPERATION_ENABLE_DiffChANGECARD = "YDBHK";//异地补换卡权限
	public static final String STAFF_OPERATION_ENABLE_TEST = "ZYCSK";//测试权限
	public static final String STAFF_OPERATION_ENABLE_OPERATOR = "TGJBRBTQX";//跳过经办人必填
	public static final String STAFF_OPERATION_ENABLE_DZJBA = "TZJBAKQX";//专用-党政军备案权限

	//苹果店渠道ID
	public static final Long[] CHANNEL_APPLE_ID = new Long[] { 100000142l, 100000143l, 100000144l, 100000145l,
			100000146l, 100000147l, 100000148l, 100000149l, 900000001l, 900000002l, 900000003l, 100000432l, 900000008l,
			100000181l, 100000217l, 900000007l, 900000006l, 900000005l, 900000004l, 100000532l, 100000533l, 100000531l,
			900000009l, 100000433l };

	//产品功能类型
	public static final Integer PROD_FUC_TYPE_102 = 102; //功能类产品
	public static final Integer PROD_FUC_TYPE_103 = 103; //内容类产品

	public static final Long PROD_OFFER_AGR_2_RULE_DEFAULT_OFFER = -9999l;//协议销售品受理业务检查表中默认销售品，-9999表示所有销售品

	//订单属性
	public static final Integer BUSI_ORDER_ITEM_SPEC_111111198 = 111111198;//暂存单属性

	//107、配置状态
	public static final String CONFIG_STATUS = "1000";
	public static final Long Busi_Scene_2_OBJECT_DEFAULT_SPEC = -9999l;//指定业务场景办理销售品配置表。全部销售品-9999

	//108、购物车属性
	public static final Integer BUSI_ORDER_ATTR = 30010024;//业务场景属性
	public final static Integer BUSI_ORDER_ATTR_JBR = 810000000;//经办人
	public static final Integer BUSI_ORDER_ATTR_JBR_CERT_TYPE = 30010026;//经办人证件类型
	public static final Integer BUSI_ORDER_ATTR_JBR_CERT_NBR = 30010021;//经办人证件号码

	//109、业务场景
	public static final Map<String, String> BUSI_SCENE_MAP = new HashMap<String, String>();

	static {
		BUSI_SCENE_MAP.put("1", "新装");
		BUSI_SCENE_MAP.put("2", "套餐变更");
		BUSI_SCENE_MAP.put("3", "主副卡成员变更");
		BUSI_SCENE_MAP.put("4", "产品属性变更");
		BUSI_SCENE_MAP.put("5", "挂失/解挂");
		BUSI_SCENE_MAP.put("6", "停机保号/复机");
		BUSI_SCENE_MAP.put("7", "预拆机");
		BUSI_SCENE_MAP.put("8", "拆机");
		BUSI_SCENE_MAP.put("9", "违章拆机");
		BUSI_SCENE_MAP.put("10", "未激活拆机");
		BUSI_SCENE_MAP.put("11", "欠费拆机");
		BUSI_SCENE_MAP.put("12", "改客户资料返档");
		//BUSI_SCENE_MAP.put("13", "补换卡");
		BUSI_SCENE_MAP.put("14", "可选包退订/订购");
		BUSI_SCENE_MAP.put("15", "过户");
		BUSI_SCENE_MAP.put("16", "改账务定制关系");
		BUSI_SCENE_MAP.put("17", "改产品密码");
		BUSI_SCENE_MAP.put("21", "补卡");
		BUSI_SCENE_MAP.put("22", "换卡");
	}

	//110、客户属性
	public static final Integer CUST_ATTR_CD = 30010002;//客户实名认证标识

	//111、客户属性值
	public static final String CUST_ATTR_VALUE = "1"; //实名制用户

	//112、判断是否4G卡
	public static final String IS4GUIM_PVO = "1";

	//113、判断是否4G卡
	public static final String IS4GUIM_RES = "2";

	//全国地区标识
	public static final Integer COMMON_REGION_QG = 8100000;

	//公共库地区标志
	public static final Integer COMMON_REGION_PUBLIC = 9200000;

	//非在途单状态
	public static final String NOT_ZT_STATUS_CD = new String("100001,100002,301200,401300,401400,100004");

	//非在途单状态新增的
	public static final String NOT_ZT_STATUS_2_CD = new String("301200,401300,401400,100004");

	//在途单状态的开关 
	public static final Boolean ZT_STATUS = new Boolean(false);

	//自有渠道
	public static final Integer[] CHANNEL_TYPE_CD = new Integer[] { 100200, 100300, 100201, 100202, 100203, 100301,
			110100, 110101, 110102 };
	//身份证证件类型
	public static final Integer IDENTIDIES_TYPE_CD = 1;
	public static final Integer IDENTIDIES_TYPE_CD_JRSFZ = 2;//证件类型  军人身份证
	public static final Integer IDENTIDIES_TYPE_CD_HKB = 12;//证件类型 户口簿
	public static final Integer IDENTIDIES_TYPE_CD_JCSFZ = 14;//证件类型 武装警察身份证
	public static final Integer IDENTIDIES_TYPE_CD_LSJMSFZ = 41;// 证件类型 临时居民身份证
	public static final Integer IDENTIDIES_TYPE_CD_WGRJZZ = 50;// 证件类型
	// 外国人永久居留身份证
	public static final Integer IDENTIDIES_TYPE_CD_XYJRSFZ = 51;// 证件类型 现役军人居民身份证
	public static final Integer IDENTIDIES_TYPE_CD_RMWZJCSFZ = 52;// 证件类型  人民武装警察居民身份证

	//114、上网卡取值
	public static final String[] GLOBAL_NETWORK_CARD = new String[] { "00703", "00704", "00706", "00011" };//全球上网卡
	public static final String[] NORMAL_NETWORK_CARD = new String[] { "00700", "00701", "00705", "00312",
			"00313" };//普通上网卡
	public static final String NEW_GLOBAL_NETWORK_CARD = "02";//新属性对应的全球上网卡值
	public static final String NEW_NORMAL_NETWORK_CARD = "01";//新属性对应的普通上网卡值

	//115、校验单终端规格属性
	public static final int ATTR_MKT_RES_CD_LENGTH = 6;

	// 116、终端类型属性值
	public static final String MKT_RES_TYPE_4G = "10080";
	public static final String MKT_RES_TYPE_3G[] = { "10090", "10091" };

	// 117、终端兼容性状态
	public static final String MKT_RES_PROTALIBLE_STATUS_Y = "1";// 兼容
	public static final String MKT_RES_PROTALIBLE_STATUS_N = "2";// 不兼容

	// NFC城市清单
	public static final String[] NFC_CITY = new String[] { "8100000" };

	//119、销售品互斥标识
	public static final Integer[] SINGLE = new Integer[] { 1, 2 };//单对单，单对组
	public static final Integer[] GROUP = new Integer[] { 3, 4 };//组对单，组对组
	public static final Integer[] TOSINGLE = new Integer[] { 1, 3 };//单对单，组对单
	public static final Integer[] TOGROUP = new Integer[] { 2, 4 };//单对组，组对组

	public static final Integer SINGLE2SINGLE = 1;//单对单互斥
	public static final Integer SINGLE2GROUP = 2;//单对组互斥
	public static final Integer GROUP2SINGLE = 3;//组对单互斥
	public static final Integer GROUP2GROUP = 4;//组对组互斥

	//规则节点对应的订单类型默认值
	public static final Long SRULE_NODE_ORDER_TYPE_DEFAULT_CD = -9999l;

	//销售品包角色
	public static final Long OFFER_PACKAGE_2_ROLE_CD = -9999l;//-9999表示适用所有角色

	//116、4G卡标识
	public static final String UIM_4G_CARD = "1";

	//117、3G集约系统
	public static final Boolean SYSTEM_3G_INTENSIVE = new Boolean(true);

	//118、规则提示中的序列seq
	public static final Integer SEQ_1 = 1;
	public static final Integer SEQ_2 = 2;
	public static final Integer SEQ_3 = 3;
	public static final Integer SEQ_4 = 4;
	public static final Integer SEQ_5 = 5;
	public static final Integer SEQ_6 = 6;
	public static final Integer SEQ_7 = 7;

	//119、动作链带出订单标识
	public static final String EXT_SYSTEM_ACTIONCHAIN = "6";

	//120.旧终端信息状态
	public static final String OLD_COUPON_INFO_STATUS_NEW = "1000";
	public static final String OLD_COUPON_INFO_STATUS_YZ = "1001";
	public static final String OLD_COUPON_INFO_STATUS_YSY = "1200";//已使用
	public static final String OLD_COUPON_INFO_STATUS_ZF = "1100";
	public static final Integer OFFER_ATTR_20030075 = 20030075;//销售品以旧换新属性

	//121 以旧换新
	public static final Integer OFFER_ATTR_YJHX = new Integer(800000042);
	public static final Integer ORDER_ATTR_TERMINAL_ORDER_TYPE = 800000013;
	public static final Integer ITEM_SPEC_IF_LIANGHAO = 111111121;//靓号低效

	//122合约套餐档位一致性校验模式
	public static final Boolean CHOSE_OLD_NEW_MODE = new Boolean(true);//true为老模式，false为新模式。

	//123配置规格状态
	public static final Integer CFG_STATUS_CD_INUSE = 1000;
	public static final Integer CFG_NUMBER = 0;

	//物联网前向流量池属性
	public static final Long PROD_OFFER_INST_ATTR_20030084 = 20030084L;//是否为流量池可选包
	public static final Long PROD_OFFER_INST_ATTR_20030085 = 20030085L;//代表用户属性
	public static final Integer PROD_INST_SERV_ATTR_900000418 = 900000418;//群号码

	//物联网后向流量池规格
	public static final Long PRODUCT_HXLLC = 13409903L;//后向流量池产品
	public static final Long PRODUCT_LLGXC = 381002183L;//流量共享池成员产品

	//付费单位属性值
	public static final String CAHRGING_UNIT_ATTR_VALUE = "8609902";

	//省份合账目标号码产品类型
	public static final Integer TARGET_NUMBER_TYPE = 10020071;
	public static final String TARGET_NUMBER_TYPE_10 = "10";//固定电话
	public static final String TARGET_NUMBER_TYPE_11 = "11";//宽带

	//省份合账目标号码
	public static final Integer TARGET_NUMBER = 10020072;

	//套餐变更业务标识
	public static final String OFFER_CHANGE_TYPE_CD = "2";

	//靓号预存费用项
	public static final Long ACCT_ITEM_TYPE_PRE_STORE = 2080003L;

	//个人定制套餐 规格标识
	public static final Long PROD_OFFER_ID_1056 = 1056l;
	public static final Long[] PROD_OFFER_ID_FOR_PERSON_CUST = new Long[] { PROD_OFFER_ID_1056 };//个人定制套餐
	//个人定制套餐  语音类   单位是秒   最大订购量限定值：2000分钟
	public static final Long voice = 20020044l; //语音类型
	public static final Double voicePriceA = 0.15;// 0-500分钟  0.15 元/分钟
	public static final Double voicePriceB = 0.12;// 501-1000分钟  0.12 元/分钟
	public static final Double voicePriceC = 0.08;// 1001-99999分钟 0.08元/分钟

	//个人定制套餐  流量   单位是KB  最大订购量限定值：20480MB
	public static final Long rate = 20020045l; //  流量  类型
	public static final Double rateA = 0.15;// 0-100M 0.15元/MB
	public static final Double rateB = 0.07;// 101-500M 0.07元/MB
	public static final Double rateC = 0.05;// 501-99999M 0.05元/MB

	//个人定制套餐  短/彩信   单位是条   最大订购量限定值：1000条
	public static final Long message = 20020046l; //短/彩信类型
	public static final Double messageA = 0.1;// 0-50条 0.1元/条
	public static final Double messageB = 0.06;// 51-500条 0.06元/条
	public static final Double messageC = 0.05;// 501-99999条 0.05元/条

	//个人定制套餐  套餐费
	public static final Long taoCanFee = 20020047l; //短/彩信类型

	//优惠券状态
	public static final String DISCOUNT_TICKETS_STATUS_USING = "1000";

	public static String EN_CODE = "UTF-8";

	//订单类型和系统对应
	public static final Map<String, String> ORDER_TYPE_2_SYSTEM = new HashMap<String, String>();

	static {
		//4G前台订单
		ORDER_TYPE_2_SYSTEM.put("11", "10000");
		//强商
		ORDER_TYPE_2_SYSTEM.put("16", "10000");
		//翼销售
		ORDER_TYPE_2_SYSTEM.put("15", "10000");
		//能力开放界面
		ORDER_TYPE_2_SYSTEM.put("8", "10000");
		//能力开放界面
		ORDER_TYPE_2_SYSTEM.put("9", "10000");
		//公众号
		ORDER_TYPE_2_SYSTEM.put("19", "10000");
		//电渠
		ORDER_TYPE_2_SYSTEM.put("2", "10001");
		//苹果店
		ORDER_TYPE_2_SYSTEM.put("18", "10002");
	}
	
	
	//不返回chainxml的订单类型
	public static final List<Long> ORDER_TYPE_NOT_RETURN_CHAINXML = new ArrayList<Long>();
	static {
		ORDER_TYPE_NOT_RETURN_CHAINXML.add(9L);
	}

	public static final String ECS_PROD_OFFER_SYS_CD = "10001";

	//销售品组类型
	public static final String PROD_OFFER_GROUP_TYPE_LIMIT = "4";//限制组

	/**
	 * CSB的虚拟表名
	 * */
	public static final String CSB_TRANS_TABLE = "CSB_TRANS";

	//seq类型：PK,例如生产acct_id时候
	public static final Integer SEQ_TYPE_PK = new Integer(1);
	//seq类型：AK例如生产acct_cd时候
	public static final Integer SEQ_TYPE_AK = new Integer(2);

	//限免套餐列表
	public static final Long[] XMTC = new Long[] { 83830L, 83832L, 83837L, 83838L };
	public final static Boolean SRULE_NODE_920176_FLAG = true;
	/**
	 * 产品大类--12 移动手机业务
	 */
	public final static String PROD_CLASS = new String("12");

	/**
	 * 产品大类--15 数据业务
	 */
	public final static String PROD_SHUJU_CLASS = new String("15");

	/**
	 * 组类型
	 */
	public final static String GRUP_TYPE_1 = "1";//基本组
	public final static String GRUP_TYPE_2 = "2";//自由组
	public final static String GRUP_TYPE_3 = "3";//特殊组
	public final static String GRUP_TYPE_4 = "4";//限制组
	public final static String GRUP_TYPE_5 = "5";//业务限制组

	public final static Integer ATTR_SPEC_RESP_CUST = 810000000;//责任人属性id
	public final static Integer ATTR_SPEC_USE = 800000011;//使用人属性id
	public final static Integer ATTR_SPEC_HANDLER_IDENTITY = 900001007;//经办人证件号码

	//新装和改号进行号码可用性校验的产品规格
	public static final Long[] PROD_SPEC_TYPE_2 = new Long[] { 280000026l, 280000025l };

	//产品可重复订购拓展属性
	public final static Long PRODUCT_EXT_700000001 = 700000001l;
	//合约类型
	public final static Integer[] ORANGE_AGREEMENT = new Integer[] { 3, 4, 5, 6 };//橙分期合约类型
	public static String key = "yxKJ%19-2NJ";//加密的密钥

	//基础服务角色功能产品集合
	public final static List<Integer> PROD_SERV_SPEC_TYPE_JICHU = new ArrayList<Integer>();

	static {
		PROD_SERV_SPEC_TYPE_JICHU.add(13413093);
		PROD_SERV_SPEC_TYPE_JICHU.add(13413092);
		PROD_SERV_SPEC_TYPE_JICHU.add(13409902);
	}

	//合约组
	public static final Integer[] AGREEMENT_OFFER_GROUP = new Integer[] { 81004, 81003 };
	public static final Integer Item_SPEC_20020103 = 20020103;//合约销售品属性标识
	public static final String INST_STATUS_REPEAL_0 = "1300";//新装未施工已撤单
	public static final Long OL_TYPE_CD_DSRW = 26L;//物联网月初定时任务恢复阈值断网
	public static final Long OL_TYPE_CD_NEW_ESS = 17l;//新电渠订单
	public static final Integer ITEM_SPEC_20020103 = 20020103;//当月到期可再次订购
	public static final Integer PRODUCT_ID_381000646 = 381000646;//物联网基础业务-流量-取消/恢复上网
	//系统业务标识 
	public static final String CUR_SYS = new String("LTE");//当前系统
	public static final String SYS_LTE = "LTE";//LTE系统
	public static final String SYS_MVNO = "MVNO";//MVNO系统
	public static final String SYS_IOT = "IOT";//IOT系统
	public static final String CUR_RULE_SYS_TYPE = "LIMIT";
	public static final String OFFER_ROLE_COMPONENT_TYPE_CD_10100003 = "10100003";//基础移动电话服务
	public static final String OFFER_ROLE_COMPONENT_TYPE_CD_10200003 = "10200003";//基础无线宽带服务
	public static final Integer CUST_SEQ_10 = 10;//新用户
	public static final Integer CUST_SEQ_11 = 11;//老用户
	public static final Integer CUST_SEQ_12 = 12;//全部用户	

	//经办人是否必填校验	
	public static final String IS_CHECK_OPERATOR = new String("true");
	public static final String BUSI_FLAG_01 = "01";//未实名制返销

	//天翼云用户管理员手机号
	public static final Integer PROD_ITEM_10020124 = 10020124;

	//天翼云盘(企业版)
	public static final Long PRODUCT_13410447 = 13410447l;

	public static final String PRODUCT_13410447_NBR = "35937003000000000000";

	//销售品  控制方式，定向标识属性 
	public static final Integer Item_SPEC_20030100 = 20030100;//销售品 控制方式  属性
	public static final Integer Item_SPEC_20030099 = 20030099;//流量标识（定向标识）属性
	//功能产品的属性
	public static final Integer Item_SPEC_10010164 = 10010164;//群定向流量控制方式
	public static final Integer Item_SPEC_10010165 = 10010165;//群定向流量标识

	public static final Integer EXT_ITEM_SPEC_20030110 = 20030110;//扩展属性
	//扩展属性为20030110对应的值
	public static final String[] EXT_ITEM_SPEC = new String[] { "112230", "112330", "112430", "112530" };

	//实名登记类型
	public static final String ITEM_SPEC_10020121_VALUE_10 = "10";//普通用户
	public static final String ITEM_SPEC_10020121_VALUE_20 = "20";//测试卡用户
	public static final String ITEM_SPEC_10020121_VALUE_30 = "30";//党政军备案
	public static final String ITEM_SPEC_10020121_VALUE_40 = "40";//省内物用卡

	//翼支付合法证件类型：居民身份证、临时居民身份证或户口簿、【redmine#1975937新增类型(现役军人居民身份证、人民武装警察居民身份证】
	public static final Map<Integer, String> BESTPAY_VALID_CERTIFICATE = new HashMap<Integer, String>() {
		{
			put(1, "身份证");
			put(12, "户口簿");
			put(41, "临时身份证");
			put(51, "现役军人居民身份证");
			put(52, "人民武装警察居民身份证");
		}
	};

	//启动加载配置数据的系统
	public static final String[] LOAD_DATA_2_SYS = new String[] { "" };

	//欠费停机可拆机分省开关
	public static final List<String> QFTJKCJ_SWITCH = new ArrayList<String>();

	//客户拆机分省开关
	public static final List<String> CUSTOMER_BREAK_SWITCH = new ArrayList<String>();

	public static final Boolean CHECKCHANNELISSTORECHANNEL = new Boolean(false);

	//是否在有效期内校验销售品互斥关系
	public static final String OFFER_EXCLUDE_EFF_TIME = new String("Y");

	//经办人分省分场景
	public static final Map<String, List<String>> SCENE_OPERATOR = new HashMap<String, List<String>>();

	//经办人和客户限制年龄分省配置
	public static final Map<String, List<Integer>> OPERATOR_AGE_LIMIT = new HashMap<String, List<Integer>>();

	static {
		OPERATOR_AGE_LIMIT.put("832", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("833", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("834", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("835", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("843", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("842", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("831", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("836", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("844", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("864", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("851", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("861", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("813", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("815", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("821", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("852", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("837", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("850", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("865", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("811", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("812", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("863", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("862", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("822", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("841", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("823", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("853", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("845", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("814", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("846", Arrays.asList(11, 11));
		OPERATOR_AGE_LIMIT.put("854", Arrays.asList(11, 11));
	}

	//产品可见性开关
	public static final Boolean PRODUCT_ORDER_SWITCH_RULE = new Boolean(true);

	//只校验一次的规则
	public final static Integer[] CHECK_ONE_RULES = new Integer[] { 520002, 520024, 520096, 520111, 520122, 520140,
			520150, 520196, 520253, 520258, 520261, 510003, 520265, 520266, 520268 };

	public static final Map<Integer, String> UNREAL_CERTIFICATE = new HashMap<Integer, String>() {
		{
			put(2, "军人身份");
			put(14, "武装警察身份");
		}
	};

	//【销售品订购次数进行判断和限制】的渠道开关
	public static final List<String> CHECK_OFFER_ORDER_NUM_SWITCH = new ArrayList<String>();

	static {
		CHECK_OFFER_ORDER_NUM_SWITCH.add("11");
		CHECK_OFFER_ORDER_NUM_SWITCH.add("14");
		CHECK_OFFER_ORDER_NUM_SWITCH.add("15");
		CHECK_OFFER_ORDER_NUM_SWITCH.add("16");
		CHECK_OFFER_ORDER_NUM_SWITCH.add("8");
		CHECK_OFFER_ORDER_NUM_SWITCH.add("9");
	}

	public static final Map<String, String> PROD_CLASS_TYPE = new HashMap<String, String>();

	static {
		PROD_CLASS_TYPE.put("10", "固定电话 ");
		PROD_CLASS_TYPE.put("11", "有线宽带");
		PROD_CLASS_TYPE.put("12", "移动电话 ");
		PROD_CLASS_TYPE.put("13", "虚拟账号 ");
		PROD_CLASS_TYPE.put("14", "小灵通 ");
		PROD_CLASS_TYPE.put("15", "无线宽带");
		PROD_CLASS_TYPE.put("16", "ITV天翼高清");
		PROD_CLASS_TYPE.put("19", "天翼云盘");
	}

	//#1277053 指定工号等访问灰度环境开关
	public static final Boolean REQUEST_HEAD_RESOLVER = new Boolean(false);

	//iphone8&8Plus的couponId,由于前台参数及资源接口原因，无法查询，直接写死。后续估计要加入iphoneX,蒋志东提供
	public static final List<Long> COUPON_ID_IPHONE = Arrays
			.asList(57351L, 57348L, 57356L, 57362L, 57371L, 57374L, 57376L, 57332L, 57320L, 57327L, 57328L, 57334L,
					57310L, 57319L, 57315L, 57321L, 57322L, 57326L, 57341L, 57345L, 57359L, 57368L, 57369L, 57336L,
					57317L, 57323L, 57349L, 57364L, 57352L, 57372L, 57375L, 57309L, 57343L, 57346L, 57358L, 57363L,
					57366L, 57370L, 57325L, 57329L, 57330L, 57337L, 57339L, 57347L, 57357L, 57311L, 57344L, 57353L,
					57342L, 57318L, 57338L, 57350L, 57355L, 57361L);

	public static final List<Long> COUPON_ID_IPHONEX = Arrays
			.asList(57305L, 57308L, 57306L, 57313L, 57314L, 57312L, 57367L, 57335L, 57333L, 57354L, 57340L, 57373L);

	public static final List<Long> COUPON_ID_IPHONEXS = Arrays
			.asList(57305L, 57308L, 57306L, 57313L, 57314L, 57312L, 57367L, 57335L, 57333L, 57354L, 57340L, 57373L);

	public static final Map<String, String> PROD_RELA_CLASS = new HashMap<String, String>();

	static {
		PROD_RELA_CLASS.put("235010000", "12");//移动电话（仅含本地语音）    
		PROD_RELA_CLASS.put("280000000", "15");//天翼宽带-无线数据卡       
		PROD_RELA_CLASS.put("13410447", "19"); //云盘产品
	}

	public static final Integer ERROR_CODE_66011 = 66011;//调用营业受理后台服务,查询终端预约可预约数量接口异常
	//can order iPhoneX quantity
	public static final Integer canOrderX = new Integer(1);
	//can order iPhone quantity
	public static final Integer canOrder = new Integer(2);
	//可以预约的xs数量
	public static final Integer canOrderXs = new Integer(2);

	public static final Integer BUSI_ORDER_ATTR_CERTNUM = 800000051;//证件号码节点
	public static final Integer BUSI_ORDER_ATTR_CERTTYPE = 800000050;//证件类型节点

	//序列前缀优先取内存缓存开关
	public static final String SEQ_JVMCACHE_SWITCH = new String("N");

	//序列前缀集合 
	public static Map<String, String> SEQ_PREFIX = new HashMap<String, String>();

	//序列基础配置seq_config
	public final static Map<String, String> SEQ_CONFIGS = new HashMap<String, String>();

	static {//key=tableName+seqType value=seqName,id,seqLength
		SEQ_CONFIGS.put("ACCOUNT_1", "SEQ_ACCOUNT,1,12");
		SEQ_CONFIGS.put("ACCOUNT_2", "SEQ_ACCT_CD,2,17");
		SEQ_CONFIGS.put("CREDIT_LIMIT_1", "SEQ_CREDIT_LIMIT,15,12");
		SEQ_CONFIGS.put("TEMP_CREDIT_LIMIT_1", "SEQ_TEMP_CREDIT_LIMIT,39,12");
		SEQ_CONFIGS.put("PARTY_1", "SEQ_PARTY,40,12");
		SEQ_CONFIGS.put("PARTY_ATTRIBUTE_1", "SEQ_PARTY_ATTRIBUTE,41,12");
		SEQ_CONFIGS.put("PARTY_CERTIFICATION_1", "SEQ_PARTY_CERTIFICATION,42,12");
		SEQ_CONFIGS.put("PARTY_CONTACT_INFO_1", "SEQ_PARTY_CONTACT_INFO,43,12");
		SEQ_CONFIGS.put("CUSTOMER_INTERACTION_EVENT_1", "SEQ_CUSTOMER_INTERACTION_EVENT,51,12");
		SEQ_CONFIGS.put("PROD_OFFER_INST_1", "SEQ_OFFER_ID,55,12");
		SEQ_CONFIGS.put("PROD_OFFER_INST_2", "SEQ_OFFER_NBR,56,12");
		SEQ_CONFIGS.put("OFFER_PROD_INST_REL_1", "SEQ_OFFER_PROD_INST_REL,57,12");
		SEQ_CONFIGS.put("OFFER_PROD_INST_REL_ROLE_1", "SEQ_OFFER_PROD_INST_REL_ROLE,58,12");
		SEQ_CONFIGS.put("OFFER_RES_INST_REL_1", "SEQ_OFFER_RES_INST_REL,59,12");
		SEQ_CONFIGS.put("PROD_INST_1", "SEQ_PROD_INST,60,12");
		SEQ_CONFIGS.put("PROD_INST_ACCT_1", "SEQ_PROD_INST_ACCT,61,12");
		SEQ_CONFIGS.put("PROD_INST_ACCT_ATTR_1", "SEQ_PROD_INST_ACCT_ATTR,62,12");
		SEQ_CONFIGS.put("PROD_INST_ACC_NBR_1", "SEQ_PROD_INST_ACC_NBR,63,12");
		SEQ_CONFIGS.put("PROD_INST_ATTR_1", "SEQ_PROD_INST_ATTR,65,12");
		SEQ_CONFIGS.put("PROD_INST_REL_1", "SEQ_PROD_INST_REL,66,12");
		SEQ_CONFIGS.put("PROD_INST_REL_ROLE_1", "SEQ_PROD_INST_REL_ROLE,67,12");
		SEQ_CONFIGS.put("PROD_INST_STATE_1", "SEQ_PROD_INST_STATE,68,12");
		SEQ_CONFIGS.put("PROD_OFFER_INST_ATTR_1", "SEQ_PROD_OFFER_INST_ATTR,72,12");
		SEQ_CONFIGS.put("PROD_OFFER_INST_PARTY_1", "SEQ_PROD_OFFER_INST_PARTY,73,12");
		SEQ_CONFIGS.put("PROD_OFFER_INST_REL_1", "SEQ_PROD_OFFER_INST_REL,74,12");
		SEQ_CONFIGS.put("PROD_OFFER_INST_REL_ROLE_1", "SEQ_PROD_OFFER_INST_REL_ROLE,75,12");
		SEQ_CONFIGS.put("PROD_RES_INST_REL_1", "SEQ_PROD_RES_INST_REL,76,12");
		SEQ_CONFIGS.put("ACCT_ITEM_1", "SEQ_ACCT_ITEM,79,12");
		SEQ_CONFIGS.put("ACCT_ITEM_REL_1", "SEQ_ACCT_ITEM_REL,80,12");
		SEQ_CONFIGS.put("ATOM_ACTION_1", "SEQ_ATOM_ACTION_ID,82,12");
		SEQ_CONFIGS.put("BILL_1", "SEQ_BILL,84,12");
		SEQ_CONFIGS.put("BO_2_COUPON_1", "SEQ_BO_2_COUPON,85,12");
		SEQ_CONFIGS.put("CUST_ORDER_LIST_1", "SEQ_COL_ID,90,12");
		SEQ_CONFIGS.put("CUSTOMER_ORDER_1", "SEQ_CUST_ORDER_ID,96,12");
		SEQ_CONFIGS.put("CUSTOMER_ORDER_2", "SEQ_CUST_ORDER_NBR,97,20");
		SEQ_CONFIGS.put("INVOICE_1", "SEQ_INVOICE,100,12");
		SEQ_CONFIGS.put("INVOICE_DETAIL_1", "SEQ_INVOICE_DETAIL,101,12");
		SEQ_CONFIGS.put("INVOICE_PRINT_1", "SEQ_INVOICE_PRINT,102,12");
		SEQ_CONFIGS.put("ORDER_ATTR_1", "SEQ_ORDER_ATTR,103,12");
		SEQ_CONFIGS.put("ORDER_ITEM_1", "SEQ_ORDER_ITEM,105,12");
		SEQ_CONFIGS.put("ORDER_ITEM_REL_1", "SEQ_ORDER_ITEM_REL,106,12");
		SEQ_CONFIGS.put("PAYMENT_1", "SEQ_PAYMENT,107,12");
		SEQ_CONFIGS.put("PROD_INST_SERV_1", "SEQ_PROD_INST,156,12");
		SEQ_CONFIGS.put("ORDER_ITEM_GROUP_1", "SEQ_ORDER_ITEM_GROUP,157,12");
		SEQ_CONFIGS.put("RECEIPT_PRINT_FILE_1", "SEQ_RECEIPT_PRINT_FILE_ID,160,12");
		SEQ_CONFIGS.put("CSB_TRANS_1", "SEQ_CRM_CSB,161,10");
		SEQ_CONFIGS.put("PAY_PHONE_MSG_1", "SEQ_PAY_PHONE_MSG,164,12");
		SEQ_CONFIGS.put("NEW_OLD_COUPON_REL_1", "SEQ_NEW_OLD_COUPON_REL,165,12");
		SEQ_CONFIGS.put("VALIDATE_RECORD_1", "SEQ_VALIDATE_RECORD,172,12");
		SEQ_CONFIGS.put("BO_TEMP_CREDIT_LIMIT_1", "SEQ_BO_TEMP_CREDIT_LIMIT,174,12");
		SEQ_CONFIGS.put("BO_CREDIT_1", "SEQ_BO_CREDIT,175,12");
		SEQ_CONFIGS.put("CUST_ORDER_FEE_INFO_1", "SEQ_CUST_ORDER_FEE_INFO,176,12");
		SEQ_CONFIGS.put("VIRTUAL_CUST_ORDER_1", "SEQ_VIRTUAL_CUST_ORDER,177,18");
		SEQ_CONFIGS.put("BESTPAY_FREEZE_RECORD_1", "SEQ_BESTPAY_FREEZE_RECORD,178,12");
		SEQ_CONFIGS.put("COLLECTION_ORDER_1", "SEQ_ORDER_ID,179,12");
		SEQ_CONFIGS.put("COLLECTION_ITEM_CUST_1", "SEQ_CIC_COLLECTION_ITEM_ID,181,12");
		SEQ_CONFIGS.put("COLLECTION_ORDER_2", "SEQ_ORDER_NUMBER,183,20");
		SEQ_CONFIGS.put("ORDER_RELA_CERT_1", "SEQ_ORDER_RELA_CERT,184,12");
		SEQ_CONFIGS.put("CERT_INFO_1", "SEQ_CERT_INFO_ID,185,12");
	}

	//需查询序列格式化配置ID  seq_config_2_format
	public static final List<String> FORMAT_SEQ_CONFIG_ID = new ArrayList<String>();

	static {//97 177 183
		FORMAT_SEQ_CONFIG_ID.add("97");
		FORMAT_SEQ_CONFIG_ID.add("177");
		FORMAT_SEQ_CONFIG_ID.add("183");
	}

	public static final Integer SINGLE_CARD_ROLE_CD = 1;

	/**
	 * 一证五号相关方法csb消息头默认配置
	 */
	public static Map<String, String> CSB_YZWH_HEADER = new HashMap<String, String>();

	static {
		CSB_YZWH_HEADER.put("AppKey", "1000000200");
		CSB_YZWH_HEADER.put("ReqTime", new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()));
		CSB_YZWH_HEADER.put("Sign", "123");
		CSB_YZWH_HEADER.put("TransactionID", "");
		CSB_YZWH_HEADER.put("Version", "V1.0");
	}

	/**
	 * 一证五号相关方法调csb消息头methodName配置
	 */
	public static Map<String, String> YZWH_METHOD_CONFIG = new HashMap<String, String>();

	static {
		YZWH_METHOD_CONFIG.put("qryCertPhoneNumRel", "qry.party.qryCertPhoneNumRel");
		YZWH_METHOD_CONFIG.put("queryCmcCertNumRel", "qry.party.queryCmcCertNumRel");
		//		YZWH_METHOD_CONFIG.put("modCertPhoneNumRel", "order.party.modCertPhoneNumRel");
	}

	//产品可见性开关
	public static final Boolean PRODUCT_ORDER_SWITCH_CHAIN = new Boolean(true);

	public static final int INTEGER_ACTION_TYPE_CD_CERTI_ACCNBR_REL = 54;//证件和号码关系变更	

	//撤单兼容性内部开关，用于解决主副卡换成单卡套餐带出副卡拆机这种错误订单的撤单异常。
	public static final Boolean REPEAL_INNER_SWITCH = new Boolean(true);

	public static final String TABLE_PROD_INST_ACCT = "PROD_INST_ACCT";

	public static final String ISOLD_T = "T";//T

	//销售品类型(对应销售品分类offer_type)
	public static final String OFFER_TYPE_CD_10 = "10";//主销售品

	public static final String ACTION_TYPE_CD_CERTI_ACCNBR_REL = "54";//证件和号码关系变更	

	public static final Long OL_TYPE_CD_ZZHK = 1000000143L;//自助换卡渠道

	public static final Long PRODUCT_3G = 235010003L;//3G功能产品
	public static final Long PRODUCT_2G = 235010008L;//2G功能产品

	public static final Long PRODUCT_SPEC_LTE_NET = 280000020l;

	public static final Integer ITEM_SPEC_800000010 = 800000010;//换卡不自动带出4G功能的套餐标识

	//补换卡，是否满足黑白名单方法开关
	public static final Boolean CONTENT_HBMD_NEW = new Boolean(false);//监控规则执行详细方法

	public static final Integer RELA_TYPE_AGREEMENT_DEPEND = 100041;//协议依赖

	public static final Integer ITEM_SPEC_800000025 = 800000025;//仅新用户或者老用户订购标识

	public static final Integer ITEM_SPEC_20030061 = 20030061;//以旧换新促销终端串码属性

	public static final String TABLE_PROD_OFFER_INST_ATTR = "PROD_OFFER_INST_ATTR";

	public static final String TABLE_ORDER_ATTR = "ORDER_ATTR";

	public static final Integer ITEM_SPEC_IF_OLD_FOR_NEW = 111111119;//是否以旧换新

	public static final String BO_ACTION_TYPE_CD_5010100002 = "5010100002";//返销	

	public static final Integer ITEM_SPEC_20030098 = 20030098;//代表优惠券编码	

	public static final Integer FEE_TYPE_LATER = 1200;//仅后付
	public static final Integer FEE_TYPE_PRE = 2100;//仅预付
	public static final Integer FEE_TYPE_PRE_AND_LATER = 3100;//预后不限
	public static final Integer FEE_TYPE_DEFAULT_LATER = 1202;//可预可后，默认后付
	public static final Integer FEE_TYPE_DEFAULT_PRE = 2101;//可预可后，默认预付	

	//属性
	public static final String ATTR_VALUE_20030124 = "20030124";//订购恢复上网属性
	public static final String ATTR_VALUE_10010076 = "10010076";//断网阈值属性
	public static final String ATTR_VALUE_10020086 = "10020086";//断网类型

	//规格id
	public static final Integer PRODUCT_SPEC_13409920 = 13409920;//达量断网
	public static final Integer PRODUCT_SPEC_13410244 = 13410244;//超流量限制上网

	public static final Long CHANNEL_WEIXIN = 100000630l;//微信渠道
	public static final Long CHANNEL_YIXIN = 100000631l;//易信渠道

	//77、销售品退订时产品处理方式
	public static final String OFFER_PROD_REL_UNSS_PROCESS_MODE_1000 = "1000";//必须关闭
	public static final String OFFER_PROD_REL_UNSS_PROCESS_MODE_1001 = "1001";//保留
	public static final String OFFER_PROD_REL_UNSS_PROCESS_MODE_1002 = "1002";//提示是否关闭

	//86拆机类型
	public static final String[] PROD_BREAK_TYPE = { "3", "4020300000", "4020300002", "66", "4020400000",
			"4020600000" };

	public static final Long ROLE_CD_UNLIMIT = new Long(-9999);//rolecd通配

	public static final Integer ITEM_SPEC_20900004 = 20900004;//靓号预存低消销售品

	public static final String BO_ACTION_TYPE_CD_GH = "-6";//过户	

	//不处理boCertiAccNbrRel省份，比如虚拟省
	public static final String[] NO_CERTI_ACC_NBR_REL = new String[] { "899" };

	public static final Integer PARTY_TYPE_VIRTUAL_IDENTITY = 38;

	//证件号码关系拆机服务类型
	public final static String CERTI_ACCNBR_CJ_TYPE = "1800";

	//证件号码关系返销服务类型
	public final static String CERTI_ACCNBR_FX_TYPE = "1400";

	//不带出的默认服务,后续可拓展可配置&&&&&不带出默认服务的省份，后续可拓展可配置形如{"381000960","8100000"}
	public static final String[][] NOADD_SERV_AREA = new String[][] { { "235010004", "8100000" },
			{ "381000960", "8100000" } };

	public static final Integer OBJ_TYPE_PRE_STORE = 22;//号码预存
	public static final Integer OBJ_TYPE_MIN_CHARGE = 23;//号码低消		

	public static final Integer ITEM_SPEC_1601000 = 1601000;//保底金额

	public static final Long PRODUCT_JFZS = 381000960L;//翼支付缴费助手

	public static final Integer INTEGER_PRODUCT_4G = 280000020;//4G功能性产品

	//Volte功能产品
	public static final Integer PRODUCT_VO_LTE = 13410485;

	//省彩铃
	public static final Integer[] PRODUCT_PROV_CRBTS = new Integer[] { 235010005 };

	//集团彩铃
	public static final Integer[] PRODUCT_JT_CRBT = new Integer[] { 13410525 };

	public static final Long OL_TYPE_CD_ZHHK = 1000000143l;//自助换卡渠道

	public static final Long OL_TYPE_CD_YZDW = 25L;//EOP接口发起阈值断网	

	public static final List<Long> COUPON_ID_4G = Arrays
			.asList(50305L, 50306L, 15056L, 15055L, 500031L, 500032L, 500033L, 500034L, 500035L, 500038L, 500039L,
					500040L, 500072L, 500073L, 500074L, 500075L, 500076L, 500077L, 500083L, 500084L, 14661L, 14662L,
					500086L, 500087L, 500088L, 500089L, 500090L, 47305L, 47306L, 56105L);

	/**产品状态名称**/
	public static final Map<String, String> PROD_INST_STOP_TYPE_NAME = new HashMap<String, String>();

	static {
		PROD_INST_STOP_TYPE_NAME.put("100000", "申请停机");
		PROD_INST_STOP_TYPE_NAME.put("110000", "挂失停机");
		PROD_INST_STOP_TYPE_NAME.put("120000", "停机保号");
		PROD_INST_STOP_TYPE_NAME.put("130000", "欠费停机");
		PROD_INST_STOP_TYPE_NAME.put("130001", "欠费单停");
		PROD_INST_STOP_TYPE_NAME.put("130002", "欠费双停");
		PROD_INST_STOP_TYPE_NAME.put("140000", "预拆机停机");
		PROD_INST_STOP_TYPE_NAME.put("150000", "违章停机");
		PROD_INST_STOP_TYPE_NAME.put("160000", "数据异常停机");
		PROD_INST_STOP_TYPE_NAME.put("170000", "局方原因停机");
		PROD_INST_STOP_TYPE_NAME.put("170099", "返档停机");
		PROD_INST_STOP_TYPE_NAME.put("150003", "一证超五卡不合规单停");
		PROD_INST_STOP_TYPE_NAME.put("150004", "一证超五卡不合规双停");
		PROD_INST_STOP_TYPE_NAME.put("150001", "非实名违章单停");
		PROD_INST_STOP_TYPE_NAME.put("150002", "非实名违章双停");
	}

	/**
	 * 产品状态类型名称
	 */
	public static final Map<String, String> PROD_STATUS_TYPE_NAME = new HashMap<String, String>();

	static {
		PROD_STATUS_TYPE_NAME.put("100000", "在用");
		PROD_STATUS_TYPE_NAME.put("110000", "拆机");
		PROD_STATUS_TYPE_NAME.put("120000", "停机");
		PROD_STATUS_TYPE_NAME.put("130000", "未竣工");
		PROD_STATUS_TYPE_NAME.put("140000", "未激活(预开通)");
		PROD_STATUS_TYPE_NAME.put("140001", "预开通");
		PROD_STATUS_TYPE_NAME.put("140002", "未激活");
		PROD_STATUS_TYPE_NAME.put("150003", "一证超五卡不合规单停");
		PROD_STATUS_TYPE_NAME.put("150004", "一证超五卡不合规双停");
		PROD_STATUS_TYPE_NAME.put("140003", "预开通待反档激活");
	}



	//不校验特殊销售品的系统
	public static final List<String> SysOffSpecialOffer = new ArrayList<String>();

	static {
		SysOffSpecialOffer.add("10001");
	}

	//520224是否查询ad合约表,true查询，false不查询
	public static final Boolean AD_SWITCH_520224 = new Boolean(false);

	//指定失效日期销售品标识
	public static final Integer RENEW_PERIOD = new Integer(2100);

	//副卡返档分省开关
	public static final List<String> FKFD_SWITCH = new ArrayList<String>();
	//征信分期分省开关
	public static final List<String> ZXFQ_SWITCH = new ArrayList<String>();
	public final static Integer ZHENGXIN_AGREEMENT = 3;//征信分期
	//征信分期终端零售价>征信合约补贴价分省开关
	public static final List<String> RETAIL_AGREEMENT_PRICE_SWITCH = new ArrayList<String>();
	public static final Integer Item_SPEC_20030115 = 20030115;//征信合约类型
	public static final Integer Item_SPEC_20030106 = 20030106;//合作方
	public static final Integer ITEM_SPEC_800000018 = 800000018;//终端预约政策

	/**
	 * 系统最大失效时间
	 */
	public static final Date DATE3000 = new Date(3000 - 1900, 0, 1, 0, 0, 0);
	public static final Boolean NEW_EXCULDE_MODE = new Boolean(true);

	/**
	 * 对接一证五号CSB数字签名秘钥
	 * 仅仅做备份用，具体使用配置在MDA.xml的BusiCommonManager节点下。
	 */
	public static final String YZWH_SIGN_SECRET_KEY = new String("DJKF34ER35D58D");//生产环境
	public static final String YZWH_SIGN_SALT = new String("JTPTCMPTESTMY");//测试环境

	//执行动作链的场景,拆机 3,强制拆机4020300000,违章拆机4020300002,欠费拆机66,未激活拆机4020400000,返销5010100002
	public static ArrayList<String> OPEN_CHAIN_SCENE = new ArrayList<String>();
	public static Map<String, List<Long>> PROV_CHAIN_CLOSE = new HashMap<String, List<Long>>();//关闭动作链的省份

	static {
		OPEN_CHAIN_SCENE.add("3");
		OPEN_CHAIN_SCENE.add("4020300000");
		OPEN_CHAIN_SCENE.add("4020300002");
		OPEN_CHAIN_SCENE.add("66");
		OPEN_CHAIN_SCENE.add("4020400000");
		OPEN_CHAIN_SCENE.add("5010100002");
	}

	//主套餐互斥校验省份，"844"广东不校验
	public static List<String> MAIN_OFFER_EXCLUDE = Arrays
			.asList("811", "812", "813", "814", "815", "821", "822", "823", "831", "832", "833", "834", "835", "836",
					"837", "841", "842", "843", "845", "846", "850", "851", "852", "853", "854", "861", "862", "863",
					"864", "865", "911");
	public static final Boolean PERSISTENCE_CACHE_SWITCH = new Boolean(true);//是否缓存错单和限制单数据
	public static final Integer CACHE_EXPIRE_TIME = new Integer(5 * 24 * 60 * 60);//设置缓存保存时间。
	public static final Boolean logAlwaysSwitch = new Boolean(true);//logAlways日志的开关
	public static final Integer PARTY_PRODUCT_RELA_ROLE_CD_0 = 0;//0-产权客户，1-使用客户，2-责任客户

	//无电信号码的新客户才能享受的iphone xs和 xs pluse预约政策
	public static final String SPECIAL_REVSERVE_TYPE = new String("1300");

	public static List<String> REPEAT_ORDER_TIME = Arrays.asList("814");

	//有电信号码的老客户才能享受的iphone xs和 xs pluse预约类型
	public static final String OLD_CUST_REVSERVE_TYPE = new String("1200");
	public static final String OLD_CUST_REVSERVE_TYPE_NAME = new String("免费预约");

	//无电信号码的新客户才能享受的iphone xs和 xs pluse预约类型
	public static final String NEW_CUST_REVSERVE_TYPE = new String("1300");
	public static final String NEW_CUST_REVSERVE_TYPE_NAME = new String("新用户优惠预约");

	public static final Boolean IS_CHECK_RESERVE_CERT_TYPE = new Boolean(true);
	public static final Boolean IS_CHECK_RESERVE_TYPE = new Boolean(true);
	public static final Boolean IS_CHECK_RESERVE_COUNT = new Boolean(true);
	public static final Boolean RETURN_XML_WITH_HOST = new Boolean(true);//规则返回xml中增加host节点

	//订单项属性
	public static final Integer ITEM_SPEC_ORDER_OFFER_STAFF_ID = 20020110;//订购销售品的权限工号

	public static final Map<String, String> SR_MIX_SWITCH = new HashMap<String, String>();//资源融合开关，分省

	static {
		SR_MIX_SWITCH.put("ALL","Y");
	}

	public static final Boolean REQUEST_HEAD_RESOLVER_MIX_3 = new Boolean(true);//3.0融合报文头
	public static final String HTTP_HEADER_X_APP_ID = "X-APP-ID";
	public static final String HTTP_HEADER_X_APP_KEY = "X-APP-KEY";
	public static final String HTTP_HEADER_X_CTG_REQUEST_ID = "X-CTG-Request-ID";
	public static final String HTTP_HEADER_X_CTG_REGION_ID = "X-CTG-Region-ID";
	public static final String HTTP_HEADER_STAFF_CODE = "Staff-Code";
	public static final String HTTP_HEADER_CHANNEL_NBR = "Channel-Nbr";
}
